From 0ba9e03fac0f7744586447105c0fa16e87916791 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Tue, 1 Aug 2017 15:30:41 -0400 Subject: [PATCH] ARROW-1304: [Java] Reformat java code with google_checks.xml to improve checkstyle --- .../main/java/io/netty/buffer/ArrowBuf.java | 4 +- .../org/apache/arrow/memory/Accountant.java | 4 +- .../arrow/memory/AllocationManager.java | 1 + .../apache/arrow/memory/BaseAllocator.java | 3 +- .../apache/arrow/memory/BufferAllocator.java | 6 +- .../arrow/memory/util/HistoricalLog.java | 7 +- .../apache/arrow/memory/TestAccountant.java | 1 + .../arrow/memory/TestBaseAllocator.java | 91 +- .../apache/arrow/memory/TestEndianess.java | 2 + .../org/apache/arrow/tools/EchoServer.java | 4 +- .../org/apache/arrow/tools/FileRoundtrip.java | 1 + .../org/apache/arrow/tools/Integration.java | 4 +- .../apache/arrow/tools/EchoServerTest.java | 20 +- .../apache/arrow/vector/AddOrGetResult.java | 1 + .../apache/arrow/vector/AllocationHelper.java | 18 +- .../arrow/vector/BaseDataValueVector.java | 6 +- .../apache/arrow/vector/BaseValueVector.java | 17 +- .../org/apache/arrow/vector/BitVector.java | 45 +- .../org/apache/arrow/vector/BufferBacked.java | 1 + .../org/apache/arrow/vector/FieldVector.java | 7 +- .../apache/arrow/vector/FixedWidthVector.java | 11 +- .../apache/arrow/vector/NullableVector.java | 1 + .../NullableVectorDefinitionSetter.java | 1 + .../arrow/vector/SchemaChangeCallBack.java | 1 + .../org/apache/arrow/vector/ValueVector.java | 29 +- .../arrow/vector/VariableWidthVector.java | 8 +- .../org/apache/arrow/vector/VectorLoader.java | 7 +- .../apache/arrow/vector/VectorSchemaRoot.java | 5 +- .../apache/arrow/vector/VectorTrimmer.java | 1 + .../apache/arrow/vector/VectorUnloader.java | 1 + .../org/apache/arrow/vector/ZeroVector.java | 34 +- .../complex/AbstractContainerVector.java | 6 +- .../vector/complex/AbstractMapVector.java | 54 +- .../complex/BaseRepeatedValueVector.java | 19 +- .../vector/complex/EmptyValuePopulator.java | 7 +- .../vector/complex/FixedSizeListVector.java | 7 +- .../arrow/vector/complex/ListVector.java | 15 +- .../arrow/vector/complex/MapVector.java | 21 +- .../vector/complex/NullableMapVector.java | 17 +- .../arrow/vector/complex/Positionable.java | 2 + .../vector/complex/PromotableVector.java | 1 + .../complex/RepeatedFixedWidthVectorLike.java | 5 +- .../vector/complex/RepeatedValueVector.java | 7 +- .../RepeatedVariableWidthVectorLike.java | 8 +- .../arrow/vector/complex/StateTool.java | 1 + .../vector/complex/VectorWithOrdinal.java | 1 + .../complex/impl/AbstractBaseReader.java | 9 +- .../complex/impl/AbstractBaseWriter.java | 1 + .../complex/impl/ComplexWriterImpl.java | 145 +- .../complex/impl/MapOrListWriterImpl.java | 1 + .../complex/impl/NullableMapReaderImpl.java | 11 +- .../impl/NullableMapWriterFactory.java | 31 +- .../vector/complex/impl/PromotableWriter.java | 7 +- .../complex/impl/SingleListReaderImpl.java | 3 +- .../complex/impl/SingleMapReaderImpl.java | 25 +- .../impl/UnionFixedSizeListReader.java | 1 + .../vector/complex/impl/UnionListReader.java | 1 + .../vector/complex/reader/FieldReader.java | 2 +- .../vector/complex/writer/FieldWriter.java | 2 + .../arrow/vector/dictionary/Dictionary.java | 9 +- .../vector/dictionary/DictionaryEncoder.java | 11 +- .../vector/dictionary/DictionaryProvider.java | 3 +- .../apache/arrow/vector/file/ArrowBlock.java | 19 +- .../arrow/vector/file/ArrowFileReader.java | 3 +- .../arrow/vector/file/ArrowFileWriter.java | 3 +- .../apache/arrow/vector/file/ArrowFooter.java | 30 +- .../apache/arrow/vector/file/ArrowMagic.java | 1 + .../apache/arrow/vector/file/ArrowReader.java | 22 +- .../apache/arrow/vector/file/ArrowWriter.java | 17 +- .../file/InvalidArrowFileException.java | 1 + .../apache/arrow/vector/file/ReadChannel.java | 17 +- .../vector/file/SeekableReadChannel.java | 23 +- .../arrow/vector/file/WriteChannel.java | 11 +- .../vector/file/json/JsonFileReader.java | 175 +-- .../vector/file/json/JsonFileWriter.java | 32 +- .../arrow/vector/holders/ComplexHolder.java | 1 + .../vector/holders/RepeatedListHolder.java | 3 +- .../vector/holders/RepeatedMapHolder.java | 3 +- .../arrow/vector/holders/UnionHolder.java | 1 + .../arrow/vector/holders/ValueHolder.java | 1 + .../arrow/vector/schema/ArrowBuffer.java | 19 +- .../vector/schema/ArrowDictionaryBatch.java | 80 +- .../arrow/vector/schema/ArrowFieldNode.java | 3 +- .../arrow/vector/schema/ArrowMessage.java | 14 +- .../arrow/vector/schema/ArrowRecordBatch.java | 17 +- .../arrow/vector/schema/ArrowVectorType.java | 6 +- .../arrow/vector/schema/FBSerializable.java | 1 + .../arrow/vector/schema/FBSerializables.java | 1 + .../arrow/vector/schema/TypeLayout.java | 87 +- .../arrow/vector/schema/VectorLayout.java | 35 +- .../vector/stream/ArrowStreamReader.java | 57 +- .../vector/stream/ArrowStreamWriter.java | 32 +- .../vector/stream/MessageSerializer.java | 101 +- .../apache/arrow/vector/types/DateUnit.java | 2 + .../vector/types/FloatingPointPrecision.java | 2 + .../arrow/vector/types/IntervalUnit.java | 2 + .../apache/arrow/vector/types/TimeUnit.java | 2 + .../org/apache/arrow/vector/types/Types.java | 85 +- .../apache/arrow/vector/types/UnionMode.java | 2 + .../vector/types/pojo/DictionaryEncoding.java | 1 + .../apache/arrow/vector/types/pojo/Field.java | 13 +- .../arrow/vector/types/pojo/FieldType.java | 4 + .../arrow/vector/types/pojo/Schema.java | 7 +- .../ByteArrayReadableSeekableByteChannel.java | 3 +- .../vector/util/ByteFunctionHelpers.java | 31 +- .../apache/arrow/vector/util/CallBack.java | 1 + .../apache/arrow/vector/util/DateUtility.java | 1270 ++++++++--------- .../arrow/vector/util/DecimalUtility.java | 59 +- .../arrow/vector/util/DictionaryUtility.java | 6 +- .../vector/util/JsonStringArrayList.java | 3 +- .../arrow/vector/util/JsonStringHashMap.java | 7 +- .../arrow/vector/util/MapWithOrdinal.java | 9 +- .../util/OversizedAllocationException.java | 2 +- .../util/SchemaChangeRuntimeException.java | 1 + .../org/apache/arrow/vector/util/Text.java | 258 ++-- .../arrow/vector/util/TransferPair.java | 4 + .../apache/arrow/vector/util/Validator.java | 7 +- .../java/org/joda/time/LocalDateTimes.java | 2 +- .../arrow/vector/DirtyRootAllocator.java | 1 + .../apache/arrow/vector/TestBitVector.java | 36 +- .../vector/TestBufferOwnershipTransfer.java | 11 +- .../arrow/vector/TestDecimalVector.java | 2 + .../arrow/vector/TestDictionaryVector.java | 7 +- .../arrow/vector/TestFixedSizeListVector.java | 1 + .../apache/arrow/vector/TestListVector.java | 83 +- ...TestOversizedAllocationForValueVector.java | 2 +- .../apache/arrow/vector/TestUnionVector.java | 37 +- .../org/apache/arrow/vector/TestUtils.java | 3 +- .../apache/arrow/vector/TestValueVector.java | 13 +- .../arrow/vector/TestVectorReAlloc.java | 1 + .../arrow/vector/TestVectorUnloadLoad.java | 26 +- .../complex/impl/TestPromotableWriter.java | 3 +- .../complex/writer/TestComplexWriter.java | 17 +- .../arrow/vector/file/BaseFileTest.java | 79 +- .../arrow/vector/file/TestArrowFile.java | 51 +- .../arrow/vector/file/TestArrowFooter.java | 3 +- .../vector/file/TestArrowReaderWriter.java | 9 +- .../arrow/vector/file/TestArrowStream.java | 3 +- .../vector/file/TestArrowStreamPipe.java | 21 +- .../arrow/vector/file/json/TestJSONFile.java | 11 +- .../apache/arrow/vector/pojo/TestConvert.java | 9 +- .../vector/stream/MessageSerializerTest.java | 7 +- .../arrow/vector/types/pojo/TestSchema.java | 27 +- .../arrow/vector/util/TestValidator.java | 57 +- 144 files changed, 2102 insertions(+), 1792 deletions(-) diff --git a/java/memory/src/main/java/io/netty/buffer/ArrowBuf.java b/java/memory/src/main/java/io/netty/buffer/ArrowBuf.java index 09886a6ffe3..6d17430c669 100644 --- a/java/memory/src/main/java/io/netty/buffer/ArrowBuf.java +++ b/java/memory/src/main/java/io/netty/buffer/ArrowBuf.java @@ -406,12 +406,12 @@ public ByteBuffer internalNioBuffer(int index, int length) { @Override public ByteBuffer[] nioBuffers() { - return new ByteBuffer[]{nioBuffer()}; + return new ByteBuffer[] {nioBuffer()}; } @Override public ByteBuffer[] nioBuffers(int index, int length) { - return new ByteBuffer[]{nioBuffer(index, length)}; + return new ByteBuffer[] {nioBuffer(index, length)}; } @Override diff --git a/java/memory/src/main/java/org/apache/arrow/memory/Accountant.java b/java/memory/src/main/java/org/apache/arrow/memory/Accountant.java index 89329b27663..5bd6b9fe379 100644 --- a/java/memory/src/main/java/org/apache/arrow/memory/Accountant.java +++ b/java/memory/src/main/java/org/apache/arrow/memory/Accountant.java @@ -249,9 +249,9 @@ public long getPeakMemoryAllocation() { return peakAllocation.get(); } - public long getHeadroom(){ + public long getHeadroom() { long localHeadroom = allocationLimit.get() - locallyHeldMemory.get(); - if(parent == null){ + if (parent == null) { return localHeadroom; } diff --git a/java/memory/src/main/java/org/apache/arrow/memory/AllocationManager.java b/java/memory/src/main/java/org/apache/arrow/memory/AllocationManager.java index 70ca1dc32a1..c528937bfdc 100644 --- a/java/memory/src/main/java/org/apache/arrow/memory/AllocationManager.java +++ b/java/memory/src/main/java/org/apache/arrow/memory/AllocationManager.java @@ -328,6 +328,7 @@ private void inc() { * Decrement the ledger's reference count. If the ledger is decremented to zero, this ledger * should release its * ownership back to the AllocationManager + * * @param decrement amout to decrease the reference count by * @return the new reference count */ diff --git a/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java b/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java index be0ba77f5b2..be970651e18 100644 --- a/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java +++ b/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java @@ -277,8 +277,7 @@ public ArrowBuf buffer(final int initialRequestSize, BufferManager manager) { throw new OutOfMemoryException(e); } throw e; - } - finally { + } finally { if (!success) { releaseBytes(actualRequestSize); } diff --git a/java/memory/src/main/java/org/apache/arrow/memory/BufferAllocator.java b/java/memory/src/main/java/org/apache/arrow/memory/BufferAllocator.java index 8a404418638..b23a6e4bd85 100644 --- a/java/memory/src/main/java/org/apache/arrow/memory/BufferAllocator.java +++ b/java/memory/src/main/java/org/apache/arrow/memory/BufferAllocator.java @@ -117,9 +117,8 @@ public interface BufferAllocator extends AutoCloseable { * Create an allocation reservation. A reservation is a way of building up * a request for a buffer whose size is not known in advance. See * - * @see AllocationReservation - * * @return the newly created reservation + * @see AllocationReservation */ public AllocationReservation newReservation(); @@ -128,6 +127,7 @@ public interface BufferAllocator extends AutoCloseable { * special because we don't * worry about them leaking or managing reference counts on them since they don't actually * point to any memory. + * * @return the empty buffer */ public ArrowBuf getEmpty(); @@ -136,6 +136,7 @@ public interface BufferAllocator extends AutoCloseable { * Return the name of this allocator. This is a human readable name that can help debugging. * Typically provides * coordinates about where this allocator was created + * * @return the name of the allocator */ public String getName(); @@ -145,6 +146,7 @@ public interface BufferAllocator extends AutoCloseable { * that an allocator is * over its limit, all consumers of that allocator should aggressively try to addrss the * overlimit situation. + * * @return whether or not this allocator (or one if its parents) is over its limits */ public boolean isOverLimit(); diff --git a/java/memory/src/main/java/org/apache/arrow/memory/util/HistoricalLog.java b/java/memory/src/main/java/org/apache/arrow/memory/util/HistoricalLog.java index 0452dc9adf2..10a64cd984e 100644 --- a/java/memory/src/main/java/org/apache/arrow/memory/util/HistoricalLog.java +++ b/java/memory/src/main/java/org/apache/arrow/memory/util/HistoricalLog.java @@ -97,7 +97,7 @@ public synchronized void recordEvent(final String noteFormat, Object... args) { * includes the identifying string provided at construction time, and all the recorded * events with their stack traces. * - * @param sb {@link StringBuilder} to write to + * @param sb {@link StringBuilder} to write to * @param includeStackTrace whether to include the stacktrace of each event in the history */ public void buildHistory(final StringBuilder sb, boolean includeStackTrace) { @@ -106,8 +106,9 @@ public void buildHistory(final StringBuilder sb, boolean includeStackTrace) { /** * build the history and write it to sb - * @param sb output - * @param indent starting indent (usually "") + * + * @param sb output + * @param indent starting indent (usually "") * @param includeStackTrace whether to include the stacktrace of each event. */ public synchronized void buildHistory( diff --git a/java/memory/src/test/java/org/apache/arrow/memory/TestAccountant.java b/java/memory/src/test/java/org/apache/arrow/memory/TestAccountant.java index 2624a4a047e..100be069fe6 100644 --- a/java/memory/src/test/java/org/apache/arrow/memory/TestAccountant.java +++ b/java/memory/src/test/java/org/apache/arrow/memory/TestAccountant.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.memory; import static org.junit.Assert.assertEquals; diff --git a/java/memory/src/test/java/org/apache/arrow/memory/TestBaseAllocator.java b/java/memory/src/test/java/org/apache/arrow/memory/TestBaseAllocator.java index 59b7be87e17..76f2c501cf4 100644 --- a/java/memory/src/test/java/org/apache/arrow/memory/TestBaseAllocator.java +++ b/java/memory/src/test/java/org/apache/arrow/memory/TestBaseAllocator.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.memory; import static org.junit.Assert.assertEquals; @@ -59,13 +60,13 @@ public void checkBuffers() { @Test public void test_privateMax() throws Exception { - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { final ArrowBuf arrowBuf1 = rootAllocator.buffer(MAX_ALLOCATION / 2); assertNotNull("allocation failed", arrowBuf1); - try(final BufferAllocator childAllocator = - rootAllocator.newChildAllocator("noLimits", 0, MAX_ALLOCATION)) { + try (final BufferAllocator childAllocator = + rootAllocator.newChildAllocator("noLimits", 0, MAX_ALLOCATION)) { final ArrowBuf arrowBuf2 = childAllocator.buffer(MAX_ALLOCATION / 2); assertNotNull("allocation failed", arrowBuf2); arrowBuf2.release(); @@ -75,11 +76,11 @@ public void test_privateMax() throws Exception { } } - @Test(expected=IllegalStateException.class) + @Test(expected = IllegalStateException.class) public void testRootAllocator_closeWithOutstanding() throws Exception { try { - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { final ArrowBuf arrowBuf = rootAllocator.buffer(512); assertNotNull("allocation failed", arrowBuf); } @@ -100,8 +101,8 @@ public void testRootAllocator_closeWithOutstanding() throws Exception { @Test public void testRootAllocator_getEmpty() throws Exception { - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { final ArrowBuf arrowBuf = rootAllocator.buffer(0); assertNotNull("allocation failed", arrowBuf); assertEquals("capacity was non-zero", 0, arrowBuf.capacity()); @@ -112,8 +113,8 @@ public void testRootAllocator_getEmpty() throws Exception { @Ignore // TODO(DRILL-2740) @Test(expected = IllegalStateException.class) public void testAllocator_unreleasedEmpty() throws Exception { - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { @SuppressWarnings("unused") final ArrowBuf arrowBuf = rootAllocator.buffer(0); } @@ -121,8 +122,8 @@ public void testAllocator_unreleasedEmpty() throws Exception { @Test public void testAllocator_transferOwnership() throws Exception { - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { final BufferAllocator childAllocator1 = rootAllocator.newChildAllocator("changeOwnership1", 0, MAX_ALLOCATION); final BufferAllocator childAllocator2 = @@ -197,7 +198,7 @@ public void testRootAllocator_createChildAndUse() throws Exception { } } - @Test(expected=IllegalStateException.class) + @Test(expected = IllegalStateException.class) public void testRootAllocator_createChildDontClose() throws Exception { try { try (final RootAllocator rootAllocator = new RootAllocator(MAX_ALLOCATION)) { @@ -232,22 +233,22 @@ private static void allocateAndFree(final BufferAllocator allocator) { final int nBufs = 8; final ArrowBuf[] arrowBufs = new ArrowBuf[nBufs]; - for(int i = 0; i < arrowBufs.length; ++i) { + for (int i = 0; i < arrowBufs.length; ++i) { ArrowBuf arrowBufi = allocator.buffer(MAX_ALLOCATION / nBufs); assertNotNull("allocation failed", arrowBufi); arrowBufs[i] = arrowBufi; } - for(ArrowBuf arrowBufi : arrowBufs) { + for (ArrowBuf arrowBufi : arrowBufs) { arrowBufi.release(); } } @Test public void testAllocator_manyAllocations() throws Exception { - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { - try(final BufferAllocator childAllocator = - rootAllocator.newChildAllocator("manyAllocations", 0, MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { + try (final BufferAllocator childAllocator = + rootAllocator.newChildAllocator("manyAllocations", 0, MAX_ALLOCATION)) { allocateAndFree(childAllocator); } } @@ -255,10 +256,10 @@ public void testAllocator_manyAllocations() throws Exception { @Test public void testAllocator_overAllocate() throws Exception { - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { - try(final BufferAllocator childAllocator = - rootAllocator.newChildAllocator("overAllocate", 0, MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { + try (final BufferAllocator childAllocator = + rootAllocator.newChildAllocator("overAllocate", 0, MAX_ALLOCATION)) { allocateAndFree(childAllocator); try { @@ -273,10 +274,10 @@ public void testAllocator_overAllocate() throws Exception { @Test public void testAllocator_overAllocateParent() throws Exception { - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { - try(final BufferAllocator childAllocator = - rootAllocator.newChildAllocator("overAllocateParent", 0, MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { + try (final BufferAllocator childAllocator = + rootAllocator.newChildAllocator("overAllocateParent", 0, MAX_ALLOCATION)) { final ArrowBuf arrowBuf1 = rootAllocator.buffer(MAX_ALLOCATION / 2); assertNotNull("allocation failed", arrowBuf1); final ArrowBuf arrowBuf2 = childAllocator.buffer(MAX_ALLOCATION / 2); @@ -326,7 +327,7 @@ public void testAllocator_createSlices() throws Exception { try (final BufferAllocator childAllocator = rootAllocator.newChildAllocator("createSlices", 0, MAX_ALLOCATION)) { try (final BufferAllocator childAllocator2 = - childAllocator.newChildAllocator("createSlices", 0, MAX_ALLOCATION)) { + childAllocator.newChildAllocator("createSlices", 0, MAX_ALLOCATION)) { final ArrowBuf arrowBuf1 = childAllocator2.buffer(MAX_ALLOCATION / 8); @SuppressWarnings("unused") final ArrowBuf arrowBuf2 = arrowBuf1.slice(MAX_ALLOCATION / 16, MAX_ALLOCATION / 16); @@ -345,8 +346,8 @@ public void testAllocator_createSlices() throws Exception { @Test public void testAllocator_sliceRanges() throws Exception { // final AllocatorOwner allocatorOwner = new NamedOwner("sliceRanges"); - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { // Populate a buffer with byte values corresponding to their indices. final ArrowBuf arrowBuf = rootAllocator.buffer(256); assertEquals(256, arrowBuf.capacity()); @@ -362,7 +363,7 @@ public void testAllocator_sliceRanges() throws Exception { // assertEquals(256, slice3.capacity()); // assertEquals(256, slice3.writableBytes()); - for(int i = 0; i < 256; ++i) { + for (int i = 0; i < 256; ++i) { arrowBuf.writeByte(i); } assertEquals(0, arrowBuf.readerIndex()); @@ -373,18 +374,18 @@ public void testAllocator_sliceRanges() throws Exception { final ArrowBuf slice1 = (ArrowBuf) arrowBuf.slice(); assertEquals(0, slice1.readerIndex()); assertEquals(256, slice1.readableBytes()); - for(int i = 0; i < 10; ++i) { + for (int i = 0; i < 10; ++i) { assertEquals(i, slice1.readByte()); } assertEquals(256 - 10, slice1.readableBytes()); - for(int i = 0; i < 256; ++i) { + for (int i = 0; i < 256; ++i) { assertEquals((byte) i, slice1.getByte(i)); } final ArrowBuf slice2 = arrowBuf.slice(25, 25); assertEquals(0, slice2.readerIndex()); assertEquals(25, slice2.readableBytes()); - for(int i = 25; i < 50; ++i) { + for (int i = 25; i < 50; ++i) { assertEquals(i, slice2.readByte()); } @@ -404,32 +405,32 @@ public void testAllocator_sliceRanges() throws Exception { @Test public void testAllocator_slicesOfSlices() throws Exception { // final AllocatorOwner allocatorOwner = new NamedOwner("slicesOfSlices"); - try(final RootAllocator rootAllocator = - new RootAllocator(MAX_ALLOCATION)) { + try (final RootAllocator rootAllocator = + new RootAllocator(MAX_ALLOCATION)) { // Populate a buffer with byte values corresponding to their indices. final ArrowBuf arrowBuf = rootAllocator.buffer(256); - for(int i = 0; i < 256; ++i) { + for (int i = 0; i < 256; ++i) { arrowBuf.writeByte(i); } // Slice it up. final ArrowBuf slice0 = arrowBuf.slice(0, arrowBuf.capacity()); - for(int i = 0; i < 256; ++i) { + for (int i = 0; i < 256; ++i) { assertEquals((byte) i, arrowBuf.getByte(i)); } final ArrowBuf slice10 = slice0.slice(10, arrowBuf.capacity() - 10); - for(int i = 10; i < 256; ++i) { + for (int i = 10; i < 256; ++i) { assertEquals((byte) i, slice10.getByte(i - 10)); } final ArrowBuf slice20 = slice10.slice(10, arrowBuf.capacity() - 20); - for(int i = 20; i < 256; ++i) { + for (int i = 20; i < 256; ++i) { assertEquals((byte) i, slice20.getByte(i - 20)); } - final ArrowBuf slice30 = slice20.slice(10, arrowBuf.capacity() - 30); - for(int i = 30; i < 256; ++i) { + final ArrowBuf slice30 = slice20.slice(10, arrowBuf.capacity() - 30); + for (int i = 30; i < 256; ++i) { assertEquals((byte) i, slice30.getByte(i - 30)); } @@ -556,8 +557,8 @@ public void testAllocator_transferShared() throws Exception { public void testAllocator_unclaimedReservation() throws Exception { try (final RootAllocator rootAllocator = new RootAllocator(MAX_ALLOCATION)) { try (final BufferAllocator childAllocator1 = - rootAllocator.newChildAllocator("unclaimedReservation", 0, MAX_ALLOCATION)) { - try(final AllocationReservation reservation = childAllocator1.newReservation()) { + rootAllocator.newChildAllocator("unclaimedReservation", 0, MAX_ALLOCATION)) { + try (final AllocationReservation reservation = childAllocator1.newReservation()) { assertTrue(reservation.add(64)); } rootAllocator.verify(); diff --git a/java/memory/src/test/java/org/apache/arrow/memory/TestEndianess.java b/java/memory/src/test/java/org/apache/arrow/memory/TestEndianess.java index 25357dc7b07..accd15eb717 100644 --- a/java/memory/src/test/java/org/apache/arrow/memory/TestEndianess.java +++ b/java/memory/src/test/java/org/apache/arrow/memory/TestEndianess.java @@ -15,9 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.memory; import static org.junit.Assert.assertEquals; + import io.netty.buffer.ByteBuf; import org.apache.arrow.memory.BufferAllocator; diff --git a/java/tools/src/main/java/org/apache/arrow/tools/EchoServer.java b/java/tools/src/main/java/org/apache/arrow/tools/EchoServer.java index 24079b62da9..c53f0ea8693 100644 --- a/java/tools/src/main/java/org/apache/arrow/tools/EchoServer.java +++ b/java/tools/src/main/java/org/apache/arrow/tools/EchoServer.java @@ -73,7 +73,9 @@ public void run() throws IOException { LOGGER.info("Closed connection with client"); } } catch (java.net.SocketException ex) { - if (!closed) throw ex; + if (!closed) { + throw ex; + } } finally { serverSocket.close(); LOGGER.info("Server closed."); diff --git a/java/tools/src/main/java/org/apache/arrow/tools/FileRoundtrip.java b/java/tools/src/main/java/org/apache/arrow/tools/FileRoundtrip.java index 135d4921ed1..7d71b0b8f9d 100644 --- a/java/tools/src/main/java/org/apache/arrow/tools/FileRoundtrip.java +++ b/java/tools/src/main/java/org/apache/arrow/tools/FileRoundtrip.java @@ -44,6 +44,7 @@ public class FileRoundtrip { private final Options options; private final PrintStream out; private final PrintStream err; + FileRoundtrip(PrintStream out, PrintStream err) { this.out = out; this.err = err; diff --git a/java/tools/src/main/java/org/apache/arrow/tools/Integration.java b/java/tools/src/main/java/org/apache/arrow/tools/Integration.java index 7d4c86f8167..d2b35e65a81 100644 --- a/java/tools/src/main/java/org/apache/arrow/tools/Integration.java +++ b/java/tools/src/main/java/org/apache/arrow/tools/Integration.java @@ -94,7 +94,7 @@ private File validateFile(String type, String fileName, boolean shouldExist) { } static void extractDictionaryEncodings(List fields, List encodings) { - for (Field field: fields) { + for (Field field : fields) { DictionaryEncoding encoding = field.getDictionary(); if (encoding != null) { encodings.add(encoding); @@ -214,7 +214,7 @@ public void execute(File arrowFile, File jsonFile) throws IOException { boolean hasMoreArrow = iterator.hasNext(); if (hasMoreJSON || hasMoreArrow) { throw new IllegalArgumentException("Unexpected RecordBatches. Total: " + totalBatches - + " J:" + hasMoreJSON + " " + + " J:" + hasMoreJSON + " " + "A:" + hasMoreArrow); } } diff --git a/java/tools/src/test/java/org/apache/arrow/tools/EchoServerTest.java b/java/tools/src/test/java/org/apache/arrow/tools/EchoServerTest.java index d7f6388721e..467965aff95 100644 --- a/java/tools/src/test/java/org/apache/arrow/tools/EchoServerTest.java +++ b/java/tools/src/test/java/org/apache/arrow/tools/EchoServerTest.java @@ -158,16 +158,16 @@ public void basicTest() throws InterruptedException, IOException { public void testFlatDictionary() throws IOException { DictionaryEncoding writeEncoding = new DictionaryEncoding(1L, false, null); try (BufferAllocator allocator = new RootAllocator(Long.MAX_VALUE); - NullableIntVector writeVector = - new NullableIntVector( - "varchar", - new FieldType(true, MinorType.INT.getType(), writeEncoding, null), - allocator); - NullableVarCharVector writeDictionaryVector = - new NullableVarCharVector( - "dict", - FieldType.nullable(VARCHAR.getType()), - allocator)) { + NullableIntVector writeVector = + new NullableIntVector( + "varchar", + new FieldType(true, MinorType.INT.getType(), writeEncoding, null), + allocator); + NullableVarCharVector writeDictionaryVector = + new NullableVarCharVector( + "dict", + FieldType.nullable(VARCHAR.getType()), + allocator)) { writeVector.allocateNewSafe(); NullableIntVector.Mutator mutator = writeVector.getMutator(); mutator.set(0, 0); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/AddOrGetResult.java b/java/vector/src/main/java/org/apache/arrow/vector/AddOrGetResult.java index 388eb9c4479..a5b5c9d1d6a 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/AddOrGetResult.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/AddOrGetResult.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import com.google.common.base.Preconditions; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/AllocationHelper.java b/java/vector/src/main/java/org/apache/arrow/vector/AllocationHelper.java index 15c3a0227c6..2a0f39d0cb5 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/AllocationHelper.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/AllocationHelper.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import org.apache.arrow.vector.complex.RepeatedFixedWidthVectorLike; @@ -27,32 +28,33 @@ public static void allocate(ValueVector v, int valueCount, int bytesPerValue) { allocate(v, valueCount, bytesPerValue, 5); } - public static void allocatePrecomputedChildCount(ValueVector v, int valueCount, int bytesPerValue, int childValCount){ - if(v instanceof FixedWidthVector) { + public static void allocatePrecomputedChildCount(ValueVector v, int valueCount, int bytesPerValue, int childValCount) { + if (v instanceof FixedWidthVector) { ((FixedWidthVector) v).allocateNew(valueCount); } else if (v instanceof VariableWidthVector) { ((VariableWidthVector) v).allocateNew(valueCount * bytesPerValue, valueCount); - } else if(v instanceof RepeatedFixedWidthVectorLike) { + } else if (v instanceof RepeatedFixedWidthVectorLike) { ((RepeatedFixedWidthVectorLike) v).allocateNew(valueCount, childValCount); - } else if(v instanceof RepeatedVariableWidthVectorLike) { + } else if (v instanceof RepeatedVariableWidthVectorLike) { ((RepeatedVariableWidthVectorLike) v).allocateNew(childValCount * bytesPerValue, valueCount, childValCount); } else { v.allocateNew(); } } - public static void allocate(ValueVector v, int valueCount, int bytesPerValue, int repeatedPerTop){ + public static void allocate(ValueVector v, int valueCount, int bytesPerValue, int repeatedPerTop) { allocatePrecomputedChildCount(v, valueCount, bytesPerValue, repeatedPerTop * valueCount); } /** * Allocates the exact amount if v is fixed width, otherwise falls back to dynamic allocation - * @param v value vector we are trying to allocate - * @param valueCount size we are trying to allocate + * + * @param v value vector we are trying to allocate + * @param valueCount size we are trying to allocate * @throws org.apache.arrow.memory.OutOfMemoryException if it can't allocate the memory */ public static void allocateNew(ValueVector v, int valueCount) { - if (v instanceof FixedWidthVector) { + if (v instanceof FixedWidthVector) { ((FixedWidthVector) v).allocateNew(valueCount); } else { v.allocateNew(); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/BaseDataValueVector.java b/java/vector/src/main/java/org/apache/arrow/vector/BaseDataValueVector.java index 0fea719da88..0fdbc30abaa 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/BaseDataValueVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/BaseDataValueVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import java.util.ArrayList; @@ -98,7 +99,7 @@ public ArrowBuf[] getBuffers(boolean clear) { if (getBufferSize() == 0) { out = new ArrowBuf[0]; } else { - out = new ArrowBuf[]{data}; + out = new ArrowBuf[] {data}; data.readerIndex(0); if (clear) { data.retain(1); @@ -137,5 +138,6 @@ public ArrowBuf unLoad() { * This method has a similar effect of allocateNew() without actually clearing and reallocating * the value vector. The purpose is to move the value vector to a "mutate" state */ - public void reset() {} + public void reset() { + } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/BaseValueVector.java b/java/vector/src/main/java/org/apache/arrow/vector/BaseValueVector.java index 2a61403c0dc..05d2aa933cb 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/BaseValueVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/BaseValueVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import java.util.Iterator; @@ -66,7 +67,8 @@ public TransferPair getTransferPair(BufferAllocator allocator) { } public abstract static class BaseAccessor implements ValueVector.Accessor { - protected BaseAccessor() { } + protected BaseAccessor() { + } @Override public boolean isNull(int index) { @@ -79,7 +81,7 @@ public int getNullCount() { int nullCount = 0; for (int i = 0; i < getValueCount(); i++) { if (isNull(i)) { - nullCount ++; + nullCount++; } } return nullCount; @@ -87,14 +89,17 @@ public int getNullCount() { } public abstract static class BaseMutator implements ValueVector.Mutator { - protected BaseMutator() { } + protected BaseMutator() { + } @Override - public void generateTestData(int values) {} + public void generateTestData(int values) { + } //TODO: consider making mutator stateless(if possible) on another issue. @Override - public void reset() {} + public void reset() { + } } @Override @@ -103,7 +108,7 @@ public Iterator iterator() { } public static boolean checkBufRefs(final ValueVector vv) { - for(final ArrowBuf buffer : vv.getBuffers(false)) { + for (final ArrowBuf buffer : vv.getBuffers(false)) { if (buffer.refCnt() <= 0) { throw new IllegalStateException("zero refcount"); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/BitVector.java b/java/vector/src/main/java/org/apache/arrow/vector/BitVector.java index f34ef2c2a22..e80ca829c66 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/BitVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/BitVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import org.apache.arrow.memory.BufferAllocator; @@ -115,7 +116,7 @@ int getSizeFromCount(int valueCount) { @Override public int getValueCapacity() { - return (int)Math.min((long)Integer.MAX_VALUE, data.capacity() * 8L); + return (int) Math.min((long) Integer.MAX_VALUE, data.capacity() * 8L); } private int getByteIndex(int index) { @@ -165,8 +166,7 @@ public void reset() { /** * Allocate a new memory space for this vector. Must be called prior to using the ValueVector. * - * @param valueCount - * The number of values which can be contained within this vector. + * @param valueCount The number of values which can be contained within this vector. */ @Override public void allocateNew(int valueCount) { @@ -195,7 +195,7 @@ public void reAlloc() { throw new OversizedAllocationException("Requested amount of memory is more than max allowed allocation size"); } - final int curSize = (int)newAllocationSize; + final int curSize = (int) newAllocationSize; final ArrowBuf newBuf = allocator.buffer(curSize); newBuf.setZero(0, newBuf.capacity()); newBuf.setBytes(0, data, 0, data.capacity()); @@ -287,7 +287,7 @@ public void splitAndTransferTo(int startIndex, int length, BitVector target) { target.data.setByte(byteSize - 1, ((this.data.getByte(firstByte + byteSize - 1) & 0xFF) >>> offset)); } else { target.data.setByte(byteSize - 1, - (((this.data.getByte(firstByte + byteSize - 1) & 0xFF) >>> offset) + (this.data.getByte(firstByte + byteSize) << (8 - offset)))); + (((this.data.getByte(firstByte + byteSize - 1) & 0xFF) >>> offset) + (this.data.getByte(firstByte + byteSize) << (8 - offset)))); } } } @@ -342,15 +342,14 @@ public class Accessor extends BaseAccessor { /** * Get the byte holding the desired bit, then mask all other bits. Iff the result is 0, the bit was not set. * - * @param index - * position of the bit in the vector + * @param index position of the bit in the vector * @return 1 if set, otherwise 0 */ public final int get(int index) { int byteIndex = index >> 3; byte b = data.getByte(byteIndex); int bitIndex = index & 7; - return Long.bitCount(b & (1L << bitIndex)); + return Long.bitCount(b & (1L << bitIndex)); } @Override @@ -379,6 +378,7 @@ public final void get(int index, NullableBitHolder holder) { /** * Get the number nulls, this correspond to the number of bits set to 0 in the vector + * * @return the number of bits set to 0 */ @Override @@ -414,10 +414,8 @@ private Mutator() { /** * Set the bit at the given index to the specified value. * - * @param index - * position of the bit to set - * @param value - * value to set (either 1 or 0) + * @param index position of the bit to set + * @param value value to set (either 1 or 0) */ public final void set(int index, int value) { int byteIndex = byteIndex(index); @@ -448,8 +446,9 @@ public final void setToOne(int index) { /** * set count bits to 1 in data starting at firstBitIndex + * * @param firstBitIndex the index of the first bit to set - * @param count the number of bits to set + * @param count the number of bits to set */ public void setRangeToOne(int firstBitIndex, int count) { int starByteIndex = byteIndex(firstBitIndex); @@ -473,7 +472,7 @@ public void setRangeToOne(int firstBitIndex, int count) { final byte bitMask = (byte) (0xFFL << startByteBitIndex); currentByte |= bitMask; data.setByte(starByteIndex, currentByte); - ++ starByteIndex; + ++starByteIndex; } // fill in one full byte at a time @@ -518,28 +517,28 @@ final void set(int index, NullableBitHolder holder) { } public void setSafe(int index, int value) { - while(index >= getValueCapacity()) { + while (index >= getValueCapacity()) { reAlloc(); } set(index, value); } public void setSafeToOne(int index) { - while(index >= getValueCapacity()) { + while (index >= getValueCapacity()) { reAlloc(); } setToOne(index); } public void setSafe(int index, BitHolder holder) { - while(index >= getValueCapacity()) { + while (index >= getValueCapacity()) { reAlloc(); } set(index, holder.value); } public void setSafe(int index, NullableBitHolder holder) { - while(index >= getValueCapacity()) { + while (index >= getValueCapacity()) { reAlloc(); } set(index, holder.value); @@ -550,7 +549,7 @@ public final void setValueCount(int valueCount) { int currentValueCapacity = getValueCapacity(); BitVector.this.valueCount = valueCount; int idx = getSizeFromCount(valueCount); - while(valueCount > getValueCapacity()) { + while (valueCount > getValueCapacity()) { reAlloc(); } if (valueCount > 0 && currentValueCapacity > valueCount * 2) { @@ -564,7 +563,7 @@ public final void setValueCount(int valueCount) { @Override public final void generateTestData(int values) { boolean even = true; - for(int i = 0; i < values; i++, even = !even) { + for (int i = 0; i < values; i++, even = !even) { if (even) { set(i, 1); } @@ -576,10 +575,10 @@ public void generateTestDataAlt(int size) { setValueCount(size); boolean even = true; final int valueCount = getAccessor().getValueCount(); - for(int i = 0; i < valueCount; i++, even = !even) { - if(even){ + for (int i = 0; i < valueCount; i++, even = !even) { + if (even) { set(i, (byte) 1); - }else{ + } else { set(i, (byte) 0); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/BufferBacked.java b/java/vector/src/main/java/org/apache/arrow/vector/BufferBacked.java index 3c8b3210d77..a0dbf2bdcf1 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/BufferBacked.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/BufferBacked.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import org.apache.arrow.vector.schema.ArrowFieldNode; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/FieldVector.java b/java/vector/src/main/java/org/apache/arrow/vector/FieldVector.java index 6c2c8302a7b..af7a7912c72 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/FieldVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/FieldVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import java.util.List; @@ -33,12 +34,14 @@ public interface FieldVector extends ValueVector { /** * Initializes the child vectors * to be later loaded with loadBuffers + * * @param children the schema */ void initializeChildrenFromFields(List children); /** * the returned list is the same size as the list passed to initializeChildrenFromFields + * * @return the children according to schema (empty for primitive types) */ List getChildrenFromFields(); @@ -46,13 +49,15 @@ public interface FieldVector extends ValueVector { /** * loads data in the vectors * (ownBuffers must be the same size as getFieldVectors()) - * @param fieldNode the fieldNode + * + * @param fieldNode the fieldNode * @param ownBuffers the buffers for this Field (own buffers only, children not included) */ void loadFieldBuffers(ArrowFieldNode fieldNode, List ownBuffers); /** * (same size as getFieldVectors() since it is their content) + * * @return the buffers containing the data for this vector (ready for reading) */ List getFieldBuffers(); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/FixedWidthVector.java b/java/vector/src/main/java/org/apache/arrow/vector/FixedWidthVector.java index 59057000bbc..ec410fc089c 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/FixedWidthVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/FixedWidthVector.java @@ -15,21 +15,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; -public interface FixedWidthVector extends ValueVector{ +public interface FixedWidthVector extends ValueVector { /** * Allocate a new memory space for this vector. Must be called prior to using the ValueVector. * - * @param valueCount Number of values in the vector. + * @param valueCount Number of values in the vector. */ void allocateNew(int valueCount); -/** - * Zero out the underlying buffer backing this vector. - */ + /** + * Zero out the underlying buffer backing this vector. + */ void zeroVector(); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/NullableVector.java b/java/vector/src/main/java/org/apache/arrow/vector/NullableVector.java index b49e9167c25..b2455e9e42b 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/NullableVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/NullableVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; public interface NullableVector extends ValueVector { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/NullableVectorDefinitionSetter.java b/java/vector/src/main/java/org/apache/arrow/vector/NullableVectorDefinitionSetter.java index b819c5d39e9..1e0746aabaa 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/NullableVectorDefinitionSetter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/NullableVectorDefinitionSetter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; public interface NullableVectorDefinitionSetter { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/SchemaChangeCallBack.java b/java/vector/src/main/java/org/apache/arrow/vector/SchemaChangeCallBack.java index 6fdcda20480..54c0c591e2b 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/SchemaChangeCallBack.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/SchemaChangeCallBack.java @@ -42,6 +42,7 @@ public void doWork() { /** * Returns the value of schema-changed state, resetting the * schema-changed state to {@code false}. + * * @return the previous schema-changed state */ public boolean getSchemaChangedAndReset() { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ValueVector.java b/java/vector/src/main/java/org/apache/arrow/vector/ValueVector.java index 3812c0b2fc3..0c95bcfcbd6 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/ValueVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/ValueVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import java.io.Closeable; @@ -40,11 +41,11 @@ * There are a few "rules" around vectors: * *
    - *
  • values need to be written in order (e.g. index 0, 1, 2, 5)
  • - *
  • null vectors start with all values as null before writing anything
  • - *
  • for variable width types, the offset vector should be all zeros before writing
  • - *
  • you must call setValueCount before a vector can be read
  • - *
  • you should never write to a vector once it has been read.
  • + *
  • values need to be written in order (e.g. index 0, 1, 2, 5)
  • + *
  • null vectors start with all values as null before writing anything
  • + *
  • for variable width types, the offset vector should be all zeros before writing
  • + *
  • you must call setValueCount before a vector can be read
  • + *
  • you should never write to a vector once it has been read.
  • *
* * Please note that the current implementation doesn't enforce those rules, hence we may find few places that @@ -58,12 +59,14 @@ public interface ValueVector extends Closeable, Iterable { /** * Allocate new buffers. ValueVector implements logic to determine how much to allocate. + * * @throws OutOfMemoryException Thrown if no memory can be allocated. */ void allocateNew() throws OutOfMemoryException; /** * Allocates new buffers. ValueVector implements logic to determine how much to allocate. + * * @return Returns true if allocation was successful. */ boolean allocateNewSafe(); @@ -78,12 +81,14 @@ public interface ValueVector extends Closeable, Iterable { /** * Set the initial record capacity + * * @param numRecords the initial record capacity. */ void setInitialCapacity(int numRecords); /** * Returns the maximum number of values that can be stored in this vector instance. + * * @return the maximum number of values that can be stored in this vector instance. */ int getValueCapacity(); @@ -101,6 +106,7 @@ public interface ValueVector extends Closeable, Iterable { /** * Get information about how this field is materialized. + * * @return the field corresponding to this vector */ Field getField(); @@ -109,6 +115,7 @@ public interface ValueVector extends Closeable, Iterable { /** * to transfer quota responsibility + * * @param allocator the target allocator * @return a {@link org.apache.arrow.vector.util.TransferPair transfer pair}, creating a new target vector of * the same type. @@ -121,6 +128,7 @@ public interface ValueVector extends Closeable, Iterable { /** * makes a new transfer pair used to transfer underlying buffers + * * @param target the target for the transfer * @return a new {@link org.apache.arrow.vector.util.TransferPair transfer pair} that is used to transfer underlying * buffers into the target vector. @@ -167,9 +175,9 @@ public interface ValueVector extends Closeable, Iterable { * Return the underlying buffers associated with this vector. Note that this doesn't impact the reference counts for * this buffer so it only should be used for in-context access. Also note that this buffer changes regularly thus * external classes shouldn't hold a reference to it (unless they change it). - * @param clear Whether to clear vector before returning; the buffers will still be refcounted; - * but the returned array will be the only reference to them * + * @param clear Whether to clear vector before returning; the buffers will still be refcounted; + * but the returned array will be the only reference to them * @return The underlying {@link io.netty.buffer.ArrowBuf buffers} that is used by this vector instance. */ ArrowBuf[] getBuffers(boolean clear); @@ -181,8 +189,7 @@ interface Accessor { /** * Get the Java Object representation of the element at the specified position. Useful for testing. * - * @param index - * Index of the value to get + * @param index Index of the value to get * @return the friendly java type */ Object getObject(int index); @@ -211,7 +218,7 @@ interface Mutator { /** * Sets the number of values that is stored in this vector to the given value count. * - * @param valueCount value count to set. + * @param valueCount value count to set. */ void setValueCount(int valueCount); @@ -221,8 +228,8 @@ interface Mutator { void reset(); /** - * @deprecated this has nothing to do with value vector abstraction and should be removed. * @param values the number of values to generate + * @deprecated this has nothing to do with value vector abstraction and should be removed. */ @Deprecated void generateTestData(int values); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/VariableWidthVector.java b/java/vector/src/main/java/org/apache/arrow/vector/VariableWidthVector.java index ed164b548b5..04c00b7c834 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/VariableWidthVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/VariableWidthVector.java @@ -15,20 +15,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; -public interface VariableWidthVector extends ValueVector{ +public interface VariableWidthVector extends ValueVector { /** * Allocate a new memory space for this vector. Must be called prior to using the ValueVector. * - * @param totalBytes Desired size of the underlying data buffer. - * @param valueCount Number of values in the vector. + * @param totalBytes Desired size of the underlying data buffer. + * @param valueCount Number of values in the vector. */ void allocateNew(int totalBytes, int valueCount); /** * Provide the maximum amount of variable width bytes that can be stored in this vector. + * * @return the byte capacity of this vector */ int getByteCapacity(); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/VectorLoader.java b/java/vector/src/main/java/org/apache/arrow/vector/VectorLoader.java index e640c7cb784..58fc80bbba1 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/VectorLoader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/VectorLoader.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static com.google.common.base.Preconditions.checkArgument; @@ -41,6 +42,7 @@ public class VectorLoader { /** * will create children in root based on schema + * * @param root the root to add vectors to based on schema */ public VectorLoader(VectorSchemaRoot root) { @@ -50,12 +52,13 @@ public VectorLoader(VectorSchemaRoot root) { /** * Loads the record batch in the vectors * will not close the record batch + * * @param recordBatch the batch to load */ public void load(ArrowRecordBatch recordBatch) { Iterator buffers = recordBatch.getBuffers().iterator(); Iterator nodes = recordBatch.getNodes().iterator(); - for (FieldVector fieldVector: root.getFieldVectors()) { + for (FieldVector fieldVector : root.getFieldVectors()) { loadBuffers(fieldVector, fieldVector.getField(), buffers, nodes); } root.setRowCount(recordBatch.getLength()); @@ -77,7 +80,7 @@ private void loadBuffers(FieldVector vector, Field field, Iterator buf vector.loadFieldBuffers(fieldNode, ownBuffers); } catch (RuntimeException e) { throw new IllegalArgumentException("Could not load buffers for field " + - field + ". error message: " + e.getMessage(), e); + field + ". error message: " + e.getMessage(), e); } List children = field.getChildren(); if (children.size() > 0) { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/VectorSchemaRoot.java b/java/vector/src/main/java/org/apache/arrow/vector/VectorSchemaRoot.java index 73deb0b3a42..0c8868cad55 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/VectorSchemaRoot.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/VectorSchemaRoot.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import java.util.ArrayList; @@ -67,7 +68,7 @@ public static VectorSchemaRoot create(Schema schema, BufferAllocator allocator) } if (fieldVectors.size() != schema.getFields().size()) { throw new IllegalArgumentException("The root vector did not create the right number of children. found " + - fieldVectors.size() + " expected " + schema.getFields().size()); + fieldVectors.size() + " expected " + schema.getFields().size()); } return new VectorSchemaRoot(schema, fieldVectors, 0); } @@ -102,7 +103,7 @@ public void close() { ex = chain(ex, e); } } - if (ex!= null) { + if (ex != null) { throw ex; } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/VectorTrimmer.java b/java/vector/src/main/java/org/apache/arrow/vector/VectorTrimmer.java index 055857e9560..ada471e63e7 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/VectorTrimmer.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/VectorTrimmer.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import io.netty.buffer.ByteBuf; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/VectorUnloader.java b/java/vector/src/main/java/org/apache/arrow/vector/VectorUnloader.java index 996524521cb..f8385a7262a 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/VectorUnloader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/VectorUnloader.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import java.util.ArrayList; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/ZeroVector.java b/java/vector/src/main/java/org/apache/arrow/vector/ZeroVector.java index 01e22f25743..cce73897718 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/ZeroVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/ZeroVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import java.util.Collections; @@ -42,10 +43,12 @@ public class ZeroVector implements FieldVector { private final TransferPair defaultPair = new TransferPair() { @Override - public void transfer() { } + public void transfer() { + } @Override - public void splitAndTransfer(int startIndex, int length) { } + public void splitAndTransfer(int startIndex, int length) { + } @Override public ValueVector getTo() { @@ -53,7 +56,8 @@ public ValueVector getTo() { } @Override - public void copyValueSafe(int from, int to) { } + public void copyValueSafe(int from, int to) { + } }; private final Accessor defaultAccessor = new Accessor() { @@ -80,22 +84,28 @@ public int getNullCount() { private final Mutator defaultMutator = new Mutator() { @Override - public void setValueCount(int valueCount) { } + public void setValueCount(int valueCount) { + } @Override - public void reset() { } + public void reset() { + } @Override - public void generateTestData(int values) { } + public void generateTestData(int values) { + } }; - public ZeroVector() { } + public ZeroVector() { + } @Override - public void close() { } + public void close() { + } @Override - public void clear() { } + public void clear() { + } @Override public Field getField() { @@ -144,7 +154,8 @@ public boolean allocateNewSafe() { } @Override - public void reAlloc() {} + public void reAlloc() { + } @Override public BufferAllocator getAllocator() { @@ -152,7 +163,8 @@ public BufferAllocator getAllocator() { } @Override - public void setInitialCapacity(int numRecords) { } + public void setInitialCapacity(int numRecords) { + } @Override public int getValueCapacity() { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/AbstractContainerVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/AbstractContainerVector.java index 2aeeca25f0e..db0ff86df47 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/AbstractContainerVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/AbstractContainerVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; import org.apache.arrow.memory.BufferAllocator; @@ -58,6 +59,7 @@ public BufferAllocator getAllocator() { /** * Returns a {@link org.apache.arrow.vector.ValueVector} corresponding to the given field name if exists or null. + * * @param name the name of the child to return * @return the corresponding FieldVector */ @@ -68,9 +70,9 @@ public FieldVector getChild(String name) { /** * Clears out all underlying child vectors. */ - @Override + @Override public void close() { - for (ValueVector vector:(Iterable)this) { + for (ValueVector vector : (Iterable) this) { vector.close(); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/AbstractMapVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/AbstractMapVector.java index 4b6d82cc8b2..26b0f90581f 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/AbstractMapVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/AbstractMapVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; import java.util.ArrayList; @@ -42,7 +43,7 @@ public abstract class AbstractMapVector extends AbstractContainerVector { private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AbstractContainerVector.class); // Maintains a map with key as field name and value is the vector itself - private final MapWithOrdinal vectors = new MapWithOrdinal<>(); + private final MapWithOrdinal vectors = new MapWithOrdinal<>(); protected AbstractMapVector(String name, BufferAllocator allocator, CallBack callBack) { super(name, allocator, callBack); @@ -50,7 +51,7 @@ protected AbstractMapVector(String name, BufferAllocator allocator, CallBack cal @Override public void close() { - for(final ValueVector valueVector : vectors.values()) { + for (final ValueVector valueVector : vectors.values()) { valueVector.close(); } vectors.clear(); @@ -83,7 +84,7 @@ public boolean allocateNewSafe() { @Override public void reAlloc() { - for (final ValueVector v: vectors.values()) { + for (final ValueVector v : vectors.values()) { v.reAlloc(); } } @@ -94,27 +95,26 @@ public void reAlloc() { * * Execution takes place in the following order: *
    - *
  • - * if field is new, create and insert a new vector of desired type. - *
  • - *
  • - * if field exists and existing vector is of desired vector type, return the vector. - *
  • - *
  • - * if field exists and null filled, clear the existing vector; create and insert a new vector of desired type. - *
  • - *
  • - * otherwise, throw an {@link java.lang.IllegalStateException} - *
  • + *
  • + * if field is new, create and insert a new vector of desired type. + *
  • + *
  • + * if field exists and existing vector is of desired vector type, return the vector. + *
  • + *
  • + * if field exists and null filled, clear the existing vector; create and insert a new vector of desired type. + *
  • + *
  • + * otherwise, throw an {@link java.lang.IllegalStateException} + *
  • *
* * @param childName the name of the field * @param fieldType the type for the vector - * @param clazz class of expected vector type - * @param class type of expected vector type - * @throws java.lang.IllegalStateException raised if there is a hard schema change - * + * @param clazz class of expected vector type + * @param class type of expected vector type * @return resultant {@link org.apache.arrow.vector.ValueVector} + * @throws java.lang.IllegalStateException raised if there is a hard schema change */ @Override public T addOrGet(String childName, FieldType fieldType, Class clazz) { @@ -151,6 +151,7 @@ private boolean nullFilled(ValueVector vector) { /** * Returns a {@link org.apache.arrow.vector.ValueVector} corresponding to the given ordinal identifier. + * * @param id the ordinal of the child to return * @return the corresponding child */ @@ -161,7 +162,8 @@ public ValueVector getChildByOrdinal(int id) { /** * Returns a {@link org.apache.arrow.vector.ValueVector} instance of subtype of T corresponding to the given * field name if exists or null. - * @param name the name of the child to return + * + * @param name the name of the child to return * @param clazz the expected type of the child * @return the child corresponding to this name */ @@ -191,7 +193,8 @@ protected ValueVector add(String childName, FieldType fieldType) { * Inserts the vector with the given name if it does not exist else replaces it with the new value. * * Note that this method does not enforce any vector type check nor throws a schema change exception. - * @param name the name of the child to add + * + * @param name the name of the child to add * @param vector the vector to add as a child */ protected void putChild(String name, FieldVector vector) { @@ -200,8 +203,9 @@ protected void putChild(String name, FieldVector vector) { /** * Inserts the input vector into the map if it does not exist, replaces if it exists already - * @param name field name - * @param vector vector to be inserted + * + * @param name field name + * @param vector vector to be inserted */ protected void putVector(String name, FieldVector vector) { final ValueVector old = vectors.put( @@ -210,7 +214,7 @@ protected void putVector(String name, FieldVector vector) { ); if (old != null && old != vector) { logger.debug("Field [{}] mutated from [{}] to [{}]", name, old.getClass().getSimpleName(), - vector.getClass().getSimpleName()); + vector.getClass().getSimpleName()); } } @@ -298,7 +302,7 @@ public ArrowBuf[] getBuffers(boolean clear) { @Override public int getBufferSize() { - int actualBufSize = 0 ; + int actualBufSize = 0; for (final ValueVector v : vectors.values()) { for (final ArrowBuf buf : v.getBuffers(false)) { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/BaseRepeatedValueVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/BaseRepeatedValueVector.java index 3bfa8e7f7ce..8e2877f892a 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/BaseRepeatedValueVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/BaseRepeatedValueVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; import java.util.Collections; @@ -144,7 +145,7 @@ public void clear() { public ArrowBuf[] getBuffers(boolean clear) { final ArrowBuf[] buffers = ObjectArrays.concat(offsets.getBuffers(false), vector.getBuffers(false), ArrowBuf.class); if (clear) { - for (ArrowBuf buffer:buffers) { + for (ArrowBuf buffer : buffers) { buffer.retain(); } clear(); @@ -156,7 +157,7 @@ public ArrowBuf[] getBuffers(boolean clear) { * @return 1 if inner vector is explicitly set via #addOrGetVector else 0 */ public int size() { - return vector == DEFAULT_DATA_VECTOR ? 0:1; + return vector == DEFAULT_DATA_VECTOR ? 0 : 1; } public AddOrGetResult addOrGetVector(FieldType fieldType) { @@ -166,8 +167,8 @@ public AddOrGetResult addOrGetVector(FieldType fieldT // returned vector must have the same field created = true; if (callBack != null && - // not a schema change if changing from ZeroVector to ZeroVector - (fieldType.getType().getTypeID() != ArrowTypeID.Null)) { + // not a schema change if changing from ZeroVector to ZeroVector + (fieldType.getType().getTypeID() != ArrowTypeID.Null)) { callBack.doWork(); } } @@ -178,7 +179,7 @@ public AddOrGetResult addOrGetVector(FieldType fieldT throw new SchemaChangeRuntimeException(msg); } - return new AddOrGetResult<>((T)vector, created); + return new AddOrGetResult<>((T) vector, created); } protected void replaceDataVector(FieldVector v) { @@ -200,7 +201,7 @@ public int getInnerValueCount() { @Override public int getInnerValueCountAt(int index) { - return offsets.getAccessor().get(index+1) - offsets.getAccessor().get(index); + return offsets.getAccessor().get(index + 1) - offsets.getAccessor().get(index); } @Override @@ -222,15 +223,15 @@ public int startNewValue(int index) { offsets.reAlloc(); } int offset = offsets.getAccessor().get(index); - offsets.getMutator().setSafe(index+1, offset); - setValueCount(index+1); + offsets.getMutator().setSafe(index + 1, offset); + setValueCount(index + 1); return offset; } @Override public void setValueCount(int valueCount) { // TODO: populate offset end points - offsets.getMutator().setValueCount(valueCount == 0 ? 0 : valueCount+1); + offsets.getMutator().setValueCount(valueCount == 0 ? 0 : valueCount + 1); final int childValueCount = valueCount == 0 ? 0 : offsets.getAccessor().get(valueCount); vector.getMutator().setValueCount(childValueCount); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/EmptyValuePopulator.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/EmptyValuePopulator.java index df699755770..a76fbbe11a1 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/EmptyValuePopulator.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/EmptyValuePopulator.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; import org.apache.arrow.vector.UInt4Vector; @@ -34,8 +35,8 @@ public EmptyValuePopulator(UInt4Vector offsets) { /** * Marks all values since the last set as empty. The last set value is obtained from underlying offsets vector. * - * @param lastIndex the last index (inclusive) in the offsets vector until which empty population takes place - * @throws java.lang.IndexOutOfBoundsException if lastIndex is negative or greater than offsets capacity. + * @param lastIndex the last index (inclusive) in the offsets vector until which empty population takes place + * @throws java.lang.IndexOutOfBoundsException if lastIndex is negative or greater than offsets capacity. */ public void populate(int lastIndex) { if (lastIndex < 0) { @@ -48,7 +49,7 @@ public void populate(int lastIndex) { for (int i = lastSet; i < lastIndex; i++) { mutator.setSafe(i + 1, previousEnd); } - mutator.setValueCount(lastIndex+1); + mutator.setValueCount(lastIndex + 1); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/FixedSizeListVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/FixedSizeListVector.java index b6d938f3fd8..3f0f1b05b67 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/FixedSizeListVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/FixedSizeListVector.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.complex; import static java.util.Collections.singletonList; @@ -240,7 +241,7 @@ public void clear() { public ArrowBuf[] getBuffers(boolean clear) { final ArrowBuf[] buffers = ObjectArrays.concat(bits.getBuffers(false), vector.getBuffers(false), ArrowBuf.class); if (clear) { - for (ArrowBuf buffer: buffers) { + for (ArrowBuf buffer : buffers) { buffer.retain(); } clear(); @@ -267,7 +268,7 @@ public AddOrGetResult addOrGetVector(FieldType type) // returned vector must have the same field if (!Objects.equals(vector.getField().getType(), type.getType())) { final String msg = String.format("Inner vector type mismatch. Requested type: [%s], actual type: [%s]", - type.getType(), vector.getField().getType()); + type.getType(), vector.getField().getType()); throw new SchemaChangeRuntimeException(msg); } @@ -301,7 +302,7 @@ public Object getObject(int index) { } final List vals = new JsonStringArrayList<>(listSize); final ValueVector.Accessor valuesAccessor = vector.getAccessor(); - for(int i = 0; i < listSize; i++) { + for (int i = 0; i < listSize; i++) { vals.add(valuesAccessor.getObject(index * listSize + i)); } return vals; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/ListVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/ListVector.java index fdeac397165..7b6b97a8ed9 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/ListVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/ListVector.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.complex; import static com.google.common.base.Preconditions.checkNotNull; @@ -199,7 +200,7 @@ public TransferImpl(ListVector to) { to.addOrGetVector(vector.getField().getFieldType()); } dataTransferPair = getDataVector().makeTransferPair(to.getDataVector()); - pairs = new TransferPair[] { bitsTransferPair, offsetsTransferPair, dataTransferPair }; + pairs = new TransferPair[] {bitsTransferPair, offsetsTransferPair, dataTransferPair}; } @Override @@ -316,9 +317,9 @@ public void clear() { @Override public ArrowBuf[] getBuffers(boolean clear) { final ArrowBuf[] buffers = ObjectArrays.concat(offsets.getBuffers(false), ObjectArrays.concat(bits.getBuffers(false), - vector.getBuffers(false), ArrowBuf.class), ArrowBuf.class); + vector.getBuffers(false), ArrowBuf.class), ArrowBuf.class); if (clear) { - for (ArrowBuf buffer:buffers) { + for (ArrowBuf buffer : buffers) { buffer.retain(); } clear(); @@ -351,7 +352,7 @@ public Object getObject(int index) { final int start = offsetsAccessor.get(index); final int end = offsetsAccessor.get(index + 1); final ValueVector.Accessor valuesAccessor = getDataVector().getAccessor(); - for(int i = start; i < end; i++) { + for (int i = start; i < end; i++) { vals.add(valuesAccessor.getObject(i)); } return vals; @@ -388,7 +389,7 @@ public int startNewValue(int index) { * End the current value * * @param index index of the value to end - * @param size number of elements in the list that was written + * @param size number of elements in the list that was written */ public void endValue(int index, int size) { offsets.getMutator().set(index + 1, offsets.getAccessor().get(index + 1) + size); @@ -414,7 +415,9 @@ public void setLastSet(int value) { lastSet = value; } - public int getLastSet() { return lastSet; } + public int getLastSet() { + return lastSet; + } } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/MapVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/MapVector.java index bdd30f88f2c..d8d0964ab37 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/MapVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/MapVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; import static com.google.common.base.Preconditions.checkNotNull; @@ -79,7 +80,7 @@ public FieldReader getReader() { transient private MapTransferPair ephPair; public void copyFromSafe(int fromIndex, int thisIndex, MapVector from) { - if(ephPair == null || ephPair.from != from) { + if (ephPair == null || ephPair.from != from) { ephPair = (MapTransferPair) from.makeTransferPair(this); } ephPair.copyValueSafe(fromIndex, thisIndex); @@ -107,7 +108,7 @@ public int getBufferSize() { return 0; } long buffer = 0; - for (final ValueVector v : (Iterable)this) { + for (final ValueVector v : (Iterable) this) { buffer += v.getBufferSize(); } @@ -148,7 +149,7 @@ public TransferPair getTransferPair(String ref, BufferAllocator allocator) { return new MapTransferPair(this, new MapVector(ref, allocator, fieldType, callBack), false); } - protected static class MapTransferPair implements TransferPair{ + protected static class MapTransferPair implements TransferPair { private final TransferPair[] pairs; private final MapVector from; private final MapVector to; @@ -165,7 +166,7 @@ protected MapTransferPair(MapVector from, MapVector to, boolean allocate) { int i = 0; FieldVector vector; - for (String child:from.getChildFieldNames()) { + for (String child : from.getChildFieldNames()) { int preSize = to.size(); vector = from.getChild(child); if (vector == null) { @@ -252,7 +253,7 @@ public class Accessor extends BaseValueVector.BaseAccessor { @Override public Object getObject(int index) { Map vv = new JsonStringHashMap<>(); - for (String child:getChildFieldNames()) { + for (String child : getChildFieldNames()) { ValueVector v = getChild(child); if (v != null && index < v.getAccessor().getValueCount()) { Object value = v.getAccessor().getObject(index); @@ -290,10 +291,12 @@ public void setValueCount(int valueCount) { } @Override - public void reset() { } + public void reset() { + } @Override - public void generateTestData(int values) { } + public void generateTestData(int values) { + } } @Override @@ -329,11 +332,11 @@ public void close() { valueCount = 0; super.close(); - } + } public void initializeChildrenFromFields(List children) { for (Field field : children) { - FieldVector vector = (FieldVector)this.add(field.getName(), field.getFieldType()); + FieldVector vector = (FieldVector) this.add(field.getName(), field.getFieldType()); vector.initializeChildrenFromFields(field.getChildren()); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/NullableMapVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/NullableMapVector.java index ee95fdef594..e70a915561f 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/NullableMapVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/NullableMapVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; import static com.google.common.base.Preconditions.checkNotNull; @@ -185,7 +186,7 @@ public void clear() { @Override - public int getBufferSize(){ + public int getBufferSize() { return super.getBufferSize() + bits.getBufferSize(); } @@ -229,7 +230,7 @@ public void reAlloc() { super.reAlloc(); } - public final class Accessor extends MapVector.Accessor { + public final class Accessor extends MapVector.Accessor { final BitVector.Accessor bAccessor = bits.getAccessor(); @Override @@ -257,7 +258,7 @@ public boolean isNull(int index) { return isSet(index) == 0; } - public int isSet(int index){ + public int isSet(int index) { return bAccessor.get(index); } @@ -265,15 +266,15 @@ public int isSet(int index){ public final class Mutator extends MapVector.Mutator implements NullableVectorDefinitionSetter { - private Mutator(){ + private Mutator() { } @Override - public void setIndexDefined(int index){ + public void setIndexDefined(int index) { bits.getMutator().setSafe(index, 1); } - public void setNull(int index){ + public void setNull(int index) { bits.getMutator().setSafe(index, 0); } @@ -285,13 +286,13 @@ public void setValueCount(int valueCount) { } @Override - public void generateTestData(int valueCount){ + public void generateTestData(int valueCount) { super.generateTestData(valueCount); bits.getMutator().generateTestDataAlt(valueCount); } @Override - public void reset(){ + public void reset() { bits.getMutator().setValueCount(0); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/Positionable.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/Positionable.java index e1a4f362969..f0a5174b2dc 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/Positionable.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/Positionable.java @@ -15,9 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; public interface Positionable { public int getPosition(); + public void setPosition(int index); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/PromotableVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/PromotableVector.java index 8b528b4ccab..4b19b9ffa0f 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/PromotableVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/PromotableVector.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.complex; import org.apache.arrow.vector.AddOrGetResult; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedFixedWidthVectorLike.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedFixedWidthVectorLike.java index 23850bc9034..866883f5326 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedFixedWidthVectorLike.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedFixedWidthVectorLike.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; /** @@ -25,8 +26,8 @@ public interface RepeatedFixedWidthVectorLike { /** * Allocate a new memory space for this vector. Must be called prior to using the ValueVector. * - * @param valueCount Number of separate repeating groupings. - * @param innerValueCount Number of supported values in the vector. + * @param valueCount Number of separate repeating groupings. + * @param innerValueCount Number of supported values in the vector. */ void allocateNew(int valueCount, int innerValueCount); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedValueVector.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedValueVector.java index de58eda0b11..91147c663f2 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedValueVector.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedValueVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; import org.apache.arrow.vector.UInt4Vector; @@ -26,7 +27,6 @@ * A repeated vector contains values that may either be flat or nested. A value consists of zero or more cells(inner values). * Current design maintains data and offsets vectors. Each cell is stored in the data vector. Repeated vector * uses the offset vector to determine the sequence of cells pertaining to an individual value. - * */ public interface RepeatedValueVector extends ValueVector { @@ -51,6 +51,7 @@ public interface RepeatedValueVector extends ValueVector { interface RepeatedAccessor extends ValueVector.Accessor { /** * The result includes empty, null valued cells. + * * @return total number of cells that vector contains. */ int getInnerValueCount(); @@ -63,7 +64,7 @@ interface RepeatedAccessor extends ValueVector.Accessor { int getInnerValueCountAt(int index); /** - * @param index value index + * @param index value index * @return true if the value at the given index is empty, false otherwise. */ boolean isEmpty(int index); @@ -74,7 +75,7 @@ interface RepeatedMutator extends ValueVector.Mutator { /** * Starts a new value that is a container of cells. * - * @param index index of new value to start + * @param index index of new value to start * @return index into the child vector */ int startNewValue(int index); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedVariableWidthVectorLike.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedVariableWidthVectorLike.java index 29f9d75c746..1e4f54ea372 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedVariableWidthVectorLike.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/RepeatedVariableWidthVectorLike.java @@ -15,20 +15,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; public interface RepeatedVariableWidthVectorLike { /** * Allocate a new memory space for this vector. Must be called prior to using the ValueVector. * - * @param totalBytes Desired size of the underlying data buffer. - * @param parentValueCount Number of separate repeating groupings. - * @param childValueCount Number of supported values in the vector. + * @param totalBytes Desired size of the underlying data buffer. + * @param parentValueCount Number of separate repeating groupings. + * @param childValueCount Number of supported values in the vector. */ void allocateNew(int totalBytes, int parentValueCount, int childValueCount); /** * Provide the maximum amount of variable width bytes that can be stored int his vector. + * * @return the byte capacity */ int getByteCapacity(); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/StateTool.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/StateTool.java index 05a79d24295..627998045c9 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/StateTool.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/StateTool.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; import java.util.Arrays; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/VectorWithOrdinal.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/VectorWithOrdinal.java index d04fc1c022c..1633b3ad098 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/VectorWithOrdinal.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/VectorWithOrdinal.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex; import org.apache.arrow.vector.ValueVector; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseReader.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseReader.java index 7c73c27ecff..1eeced4598a 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseReader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseReader.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.impl; import java.util.Iterator; @@ -25,7 +26,7 @@ import org.apache.arrow.vector.holders.UnionHolder; -abstract class AbstractBaseReader implements FieldReader{ +abstract class AbstractBaseReader implements FieldReader { static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AbstractBaseReader.class); @@ -40,11 +41,11 @@ public int getPosition() { return index; } - public void setPosition(int index){ + public void setPosition(int index) { this.index = index; } - protected int idx(){ + protected int idx() { return index; } @@ -86,6 +87,6 @@ public void copyAsValue(UnionWriter writer) { @Override public void copyAsValue(ListWriter writer) { - ComplexCopier.copy(this, (FieldWriter)writer); + ComplexCopier.copy(this, (FieldWriter) writer); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseWriter.java index 13a0a6bd9e2..2f224fe3a5b 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseWriter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/AbstractBaseWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.impl; import org.apache.arrow.vector.complex.writer.FieldWriter; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/ComplexWriterImpl.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/ComplexWriterImpl.java index 6851d6d45d5..a6960238b91 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/ComplexWriterImpl.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/ComplexWriterImpl.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.impl; import org.apache.arrow.vector.complex.ListVector; @@ -38,13 +39,15 @@ public class ComplexWriterImpl extends AbstractFieldWriter implements ComplexWri private final boolean unionEnabled; private final NullableMapWriterFactory nullableMapWriterFactory; - private enum Mode { INIT, MAP, LIST }; + private enum Mode {INIT, MAP, LIST} + + ; - public ComplexWriterImpl(String name, MapVector container, boolean unionEnabled, boolean caseSensitive){ + public ComplexWriterImpl(String name, MapVector container, boolean unionEnabled, boolean caseSensitive) { this.name = name; this.container = container; this.unionEnabled = unionEnabled; - nullableMapWriterFactory = caseSensitive? NullableMapWriterFactory.getNullableCaseSensitiveMapWriterFactoryInstance() : + nullableMapWriterFactory = caseSensitive ? NullableMapWriterFactory.getNullableCaseSensitiveMapWriterFactoryInstance() : NullableMapWriterFactory.getNullableMapWriterFactoryInstance(); } @@ -52,7 +55,7 @@ public ComplexWriterImpl(String name, MapVector container, boolean unionEnabled) this(name, container, unionEnabled, false); } - public ComplexWriterImpl(String name, MapVector container){ + public ComplexWriterImpl(String name, MapVector container) { this(name, container, false); } @@ -66,12 +69,12 @@ public int getValueCapacity() { return container.getValueCapacity(); } - private void check(Mode... modes){ + private void check(Mode... modes) { StateTool.check(mode, modes); } @Override - public void reset(){ + public void reset() { setPosition(0); } @@ -85,58 +88,58 @@ public void close() throws Exception { } @Override - public void clear(){ - switch(mode){ - case MAP: - mapRoot.clear(); - break; - case LIST: - listRoot.clear(); - break; + public void clear() { + switch (mode) { + case MAP: + mapRoot.clear(); + break; + case LIST: + listRoot.clear(); + break; } } @Override - public void setValueCount(int count){ - switch(mode){ - case MAP: - mapRoot.setValueCount(count); - break; - case LIST: - listRoot.setValueCount(count); - break; + public void setValueCount(int count) { + switch (mode) { + case MAP: + mapRoot.setValueCount(count); + break; + case LIST: + listRoot.setValueCount(count); + break; } } @Override - public void setPosition(int index){ + public void setPosition(int index) { super.setPosition(index); - switch(mode){ - case MAP: - mapRoot.setPosition(index); - break; - case LIST: - listRoot.setPosition(index); - break; + switch (mode) { + case MAP: + mapRoot.setPosition(index); + break; + case LIST: + listRoot.setPosition(index); + break; } } - public MapWriter directMap(){ + public MapWriter directMap() { Preconditions.checkArgument(name == null); - switch(mode){ + switch (mode) { - case INIT: - mapRoot = nullableMapWriterFactory.build((NullableMapVector) container); - mapRoot.setPosition(idx()); - mode = Mode.MAP; - break; + case INIT: + mapRoot = nullableMapWriterFactory.build((NullableMapVector) container); + mapRoot.setPosition(idx()); + mode = Mode.MAP; + break; - case MAP: - break; + case MAP: + break; - default: + default: check(Mode.INIT, Mode.MAP); } @@ -145,20 +148,20 @@ public MapWriter directMap(){ @Override public MapWriter rootAsMap() { - switch(mode){ + switch (mode) { - case INIT: - // TODO allow dictionaries in complex types - NullableMapVector map = container.addOrGetMap(name); - mapRoot = nullableMapWriterFactory.build(map); - mapRoot.setPosition(idx()); - mode = Mode.MAP; - break; + case INIT: + // TODO allow dictionaries in complex types + NullableMapVector map = container.addOrGetMap(name); + mapRoot = nullableMapWriterFactory.build(map); + mapRoot.setPosition(idx()); + mode = Mode.MAP; + break; - case MAP: - break; + case MAP: + break; - default: + default: check(Mode.INIT, Mode.MAP); } @@ -167,33 +170,33 @@ public MapWriter rootAsMap() { @Override public void allocate() { - if(mapRoot != null) { + if (mapRoot != null) { mapRoot.allocate(); - } else if(listRoot != null) { + } else if (listRoot != null) { listRoot.allocate(); } } @Override public ListWriter rootAsList() { - switch(mode){ - - case INIT: - int vectorCount = container.size(); - // TODO allow dictionaries in complex types - ListVector listVector = container.addOrGetList(name); - if (container.size() > vectorCount) { - listVector.allocateNew(); - } - listRoot = new UnionListWriter(listVector, nullableMapWriterFactory); - listRoot.setPosition(idx()); - mode = Mode.LIST; - break; - - case LIST: - break; - - default: + switch (mode) { + + case INIT: + int vectorCount = container.size(); + // TODO allow dictionaries in complex types + ListVector listVector = container.addOrGetList(name); + if (container.size() > vectorCount) { + listVector.allocateNew(); + } + listRoot = new UnionListWriter(listVector, nullableMapWriterFactory); + listRoot.setPosition(idx()); + mode = Mode.LIST; + break; + + case LIST: + break; + + default: check(Mode.INIT, Mode.MAP); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/MapOrListWriterImpl.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/MapOrListWriterImpl.java index f8a9d4232aa..0d860b6a041 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/MapOrListWriterImpl.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/MapOrListWriterImpl.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.impl; import org.apache.arrow.vector.complex.writer.BaseWriter; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableMapReaderImpl.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableMapReaderImpl.java index 067716e8ea2..614c266acf1 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableMapReaderImpl.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableMapReaderImpl.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.complex.impl; import org.apache.arrow.vector.complex.MapVector; @@ -28,8 +29,8 @@ public class NullableMapReaderImpl extends SingleMapReaderImpl { private NullableMapVector nullableMapVector; public NullableMapReaderImpl(MapVector vector) { - super((NullableMapVector)vector); - this.nullableMapVector = (NullableMapVector)vector; + super((NullableMapVector) vector); + this.nullableMapVector = (NullableMapVector) vector; } @Override @@ -38,19 +39,19 @@ public Field getField() { } @Override - public void copyAsValue(MapWriter writer){ + public void copyAsValue(MapWriter writer) { NullableMapWriter impl = (NullableMapWriter) writer; impl.container.copyFromSafe(idx(), impl.idx(), nullableMapVector); } @Override - public void copyAsField(String name, MapWriter writer){ + public void copyAsField(String name, MapWriter writer) { NullableMapWriter impl = (NullableMapWriter) writer.map(name); impl.container.copyFromSafe(idx(), impl.idx(), nullableMapVector); } @Override - public boolean isSet(){ + public boolean isSet() { return !nullableMapVector.getAccessor().isNull(idx()); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableMapWriterFactory.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableMapWriterFactory.java index d932cfb3e12..d2dcb2374d0 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableMapWriterFactory.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/NullableMapWriterFactory.java @@ -15,28 +15,29 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.impl; import org.apache.arrow.vector.complex.NullableMapVector; public class NullableMapWriterFactory { - private final boolean caseSensitive; - private static final NullableMapWriterFactory nullableMapWriterFactory = new NullableMapWriterFactory(false); - private static final NullableMapWriterFactory nullableCaseSensitiveWriterFactory = new NullableMapWriterFactory(true); + private final boolean caseSensitive; + private static final NullableMapWriterFactory nullableMapWriterFactory = new NullableMapWriterFactory(false); + private static final NullableMapWriterFactory nullableCaseSensitiveWriterFactory = new NullableMapWriterFactory(true); - public NullableMapWriterFactory(boolean caseSensitive) { - this.caseSensitive = caseSensitive; - } + public NullableMapWriterFactory(boolean caseSensitive) { + this.caseSensitive = caseSensitive; + } - public NullableMapWriter build(NullableMapVector container) { - return this.caseSensitive? new NullableCaseSensitiveMapWriter(container) : new NullableMapWriter(container); - } + public NullableMapWriter build(NullableMapVector container) { + return this.caseSensitive ? new NullableCaseSensitiveMapWriter(container) : new NullableMapWriter(container); + } - public static NullableMapWriterFactory getNullableMapWriterFactoryInstance() { - return nullableMapWriterFactory; - } + public static NullableMapWriterFactory getNullableMapWriterFactoryInstance() { + return nullableMapWriterFactory; + } - public static NullableMapWriterFactory getNullableCaseSensitiveMapWriterFactoryInstance() { - return nullableCaseSensitiveWriterFactory; - } + public static NullableMapWriterFactory getNullableCaseSensitiveMapWriterFactoryInstance() { + return nullableCaseSensitiveWriterFactory; + } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/PromotableWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/PromotableWriter.java index d16718e75a7..9722196ed7c 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/PromotableWriter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/PromotableWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.impl; import org.apache.arrow.vector.FieldVector; @@ -120,7 +121,7 @@ public void setPosition(int index) { protected FieldWriter getWriter(MinorType type) { if (state == State.UNION) { - ((UnionWriter)writer).getWriter(type); + ((UnionWriter) writer).getWriter(type); } else if (state == State.UNTYPED) { if (type == null) { // ??? @@ -132,7 +133,7 @@ protected FieldWriter getWriter(MinorType type) { writer.setPosition(position); } else if (type != this.type) { promoteToUnion(); - ((UnionWriter)writer).getWriter(type); + ((UnionWriter) writer).getWriter(type); } return writer; } @@ -157,7 +158,7 @@ private FieldWriter promoteToUnion() { } else if (listVector != null) { unionVector = listVector.promoteToUnion(); } - unionVector.addVector((FieldVector)tp.getTo()); + unionVector.addVector((FieldVector) tp.getTo()); writer = new UnionWriter(unionVector, nullableMapWriterFactory); writer.setPosition(idx()); for (int i = 0; i <= idx(); i++) { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleListReaderImpl.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleListReaderImpl.java index b8f58658eae..f2b46ab98db 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleListReaderImpl.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleListReaderImpl.java @@ -17,6 +17,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.complex.impl; @@ -27,7 +28,7 @@ import org.apache.arrow.vector.types.Types.MinorType; @SuppressWarnings("unused") -public class SingleListReaderImpl extends AbstractFieldReader{ +public class SingleListReaderImpl extends AbstractFieldReader { private final String name; private final AbstractContainerVector container; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleMapReaderImpl.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleMapReaderImpl.java index 48019093e38..3ebd0cd7dd9 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleMapReaderImpl.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/SingleMapReaderImpl.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.complex.impl; @@ -31,7 +32,7 @@ import com.google.common.collect.Maps; @SuppressWarnings("unused") -public class SingleMapReaderImpl extends AbstractFieldReader{ +public class SingleMapReaderImpl extends AbstractFieldReader { private final MapVector vector; private final Map fields = Maps.newHashMap(); @@ -40,8 +41,8 @@ public SingleMapReaderImpl(MapVector vector) { this.vector = vector; } - private void setChildrenPosition(int index){ - for(FieldReader r : fields.values()){ + private void setChildrenPosition(int index) { + for (FieldReader r : fields.values()) { r.setPosition(index); } } @@ -52,13 +53,13 @@ public Field getField() { } @Override - public FieldReader reader(String name){ + public FieldReader reader(String name) { FieldReader reader = fields.get(name); - if(reader == null){ + if (reader == null) { ValueVector child = vector.getChild(name); - if(child == null){ + if (child == null) { reader = NullReader.INSTANCE; - }else{ + } else { reader = child.getReader(); } fields.put(name, reader); @@ -68,9 +69,9 @@ public FieldReader reader(String name){ } @Override - public void setPosition(int index){ + public void setPosition(int index) { super.setPosition(index); - for(FieldReader r : fields.values()){ + for (FieldReader r : fields.values()) { r.setPosition(index); } } @@ -91,18 +92,18 @@ public boolean isSet() { } @Override - public java.util.Iterator iterator(){ + public java.util.Iterator iterator() { return vector.fieldNameIterator(); } @Override - public void copyAsValue(MapWriter writer){ + public void copyAsValue(MapWriter writer) { SingleMapWriter impl = (SingleMapWriter) writer; impl.container.copyFromSafe(idx(), impl.idx(), vector); } @Override - public void copyAsField(String name, MapWriter writer){ + public void copyAsField(String name, MapWriter writer) { SingleMapWriter impl = (SingleMapWriter) writer.map(name); impl.container.copyFromSafe(idx(), impl.idx(), vector); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionFixedSizeListReader.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionFixedSizeListReader.java index 515d4ab8ce9..f3e9b8773f2 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionFixedSizeListReader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionFixedSizeListReader.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.complex.impl; import org.apache.arrow.vector.ValueVector; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionListReader.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionListReader.java index 2bd0ca87cd0..b98c36d2bf7 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionListReader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/impl/UnionListReader.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.complex.impl; import org.apache.arrow.vector.UInt4Vector; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/reader/FieldReader.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/reader/FieldReader.java index c4eb3dc739a..df142c7819d 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/reader/FieldReader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/reader/FieldReader.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.reader; import org.apache.arrow.vector.complex.reader.BaseReader.ListReader; @@ -24,6 +25,5 @@ import org.apache.arrow.vector.complex.reader.BaseReader.ScalarReader; - public interface FieldReader extends MapReader, ListReader, ScalarReader, RepeatedMapReader, RepeatedListReader { } \ No newline at end of file diff --git a/java/vector/src/main/java/org/apache/arrow/vector/complex/writer/FieldWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/complex/writer/FieldWriter.java index ecffe0bec0e..a2a1f5d000a 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/complex/writer/FieldWriter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/complex/writer/FieldWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.writer; import org.apache.arrow.vector.complex.writer.BaseWriter.ListWriter; @@ -23,5 +24,6 @@ public interface FieldWriter extends MapWriter, ListWriter, ScalarWriter { void allocate(); + void clear(); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/Dictionary.java b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/Dictionary.java index 0c1cadfdafd..c2f69203594 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/Dictionary.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/Dictionary.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.dictionary; import java.util.Objects; @@ -53,8 +54,12 @@ public String toString() { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } Dictionary that = (Dictionary) o; return Objects.equals(encoding, that.encoding) && Objects.equals(dictionary, that.dictionary); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryEncoder.java b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryEncoder.java index 0f49ce61f1c..7e20794cbbe 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryEncoder.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryEncoder.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.dictionary; import java.lang.reflect.InvocationTargetException; @@ -39,7 +40,7 @@ public class DictionaryEncoder { /** * Dictionary encodes a vector with a provided dictionary. The dictionary must contain all values in the vector. * - * @param vector vector to encode + * @param vector vector to encode * @param dictionary dictionary used for encoding * @return dictionary encoded vector */ @@ -55,7 +56,7 @@ public static ValueVector encode(ValueVector vector, Dictionary dictionary) { Field valueField = vector.getField(); FieldType indexFieldType = new FieldType(valueField.isNullable(), dictionary.getEncoding().getIndexType(), - dictionary.getEncoding(), valueField.getMetadata()); + dictionary.getEncoding(), valueField.getMetadata()); Field indexField = new Field(valueField.getName(), indexFieldType, null); // vector to hold our indices (dictionary encoded values) @@ -65,11 +66,11 @@ public static ValueVector encode(ValueVector vector, Dictionary dictionary) { // use reflection to pull out the set method // TODO implement a common interface for int vectors Method setter = null; - for (Class c: ImmutableList.of(int.class, long.class)) { + for (Class c : ImmutableList.of(int.class, long.class)) { try { setter = mutator.getClass().getMethod("set", int.class, c); break; - } catch(NoSuchMethodException e) { + } catch (NoSuchMethodException e) { // ignore } } @@ -108,7 +109,7 @@ public static ValueVector encode(ValueVector vector, Dictionary dictionary) { /** * Decodes a dictionary encoded array using the provided dictionary. * - * @param indices dictionary encoded values, must be int type + * @param indices dictionary encoded values, must be int type * @param dictionary dictionary used to decode the values * @return vector with values restored from dictionary */ diff --git a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryProvider.java b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryProvider.java index 87516c9a8fc..a170cea21d2 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryProvider.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/dictionary/DictionaryProvider.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.dictionary; import java.util.HashMap; @@ -31,7 +32,7 @@ public static class MapDictionaryProvider implements DictionaryProvider { public MapDictionaryProvider(Dictionary... dictionaries) { this.map = new HashMap<>(); - for (Dictionary dictionary: dictionaries) { + for (Dictionary dictionary : dictionaries) { put(dictionary); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowBlock.java b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowBlock.java index 90fb02b0597..e1b4d6a8b21 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowBlock.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowBlock.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import org.apache.arrow.flatbuf.Block; @@ -64,19 +65,25 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } ArrowBlock other = (ArrowBlock) obj; - if (bodyLength != other.bodyLength) + if (bodyLength != other.bodyLength) { return false; - if (metadataLength != other.metadataLength) + } + if (metadataLength != other.metadataLength) { return false; - if (offset != other.offset) + } + if (offset != other.offset) { return false; + } return true; } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFileReader.java b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFileReader.java index f4d6ada9324..d711b9c6c1e 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFileReader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFileReader.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.io.IOException; @@ -117,7 +118,7 @@ private ArrowDictionaryBatch readDictionaryBatch(SeekableReadChannel in, ArrowBlock block, BufferAllocator allocator) throws IOException { LOGGER.debug(String.format("DictionaryRecordBatch at %d, metadata: %d, body: %d", - block.getOffset(), block.getMetadataLength(), block.getBodyLength())); + block.getOffset(), block.getMetadataLength(), block.getBodyLength())); in.setPosition(block.getOffset()); ArrowDictionaryBatch batch = MessageSerializer.deserializeDictionaryBatch(in, block, allocator); if (batch == null) { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFileWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFileWriter.java index 23d210a3ee7..06519bc49fd 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFileWriter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFileWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.io.IOException; @@ -47,7 +48,7 @@ protected void endInternal(WriteChannel out, List records) throws IOException { long footerStart = out.getCurrentPosition(); out.write(new ArrowFooter(schema, dictionaries, records), false); - int footerLength = (int)(out.getCurrentPosition() - footerStart); + int footerLength = (int) (out.getCurrentPosition() - footerStart); if (footerLength <= 0) { throw new InvalidArrowFileException("invalid footer"); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFooter.java b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFooter.java index 1c0008a9184..1e95321fdec 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFooter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowFooter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import static org.apache.arrow.vector.schema.FBSerializables.writeAllStructsToVector; @@ -48,7 +49,7 @@ public ArrowFooter(Footer footer) { Schema.convertSchema(footer.schema()), dictionaries(footer), recordBatches(footer) - ); + ); } private static List recordBatches(Footer footer) { @@ -112,28 +113,37 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } ArrowFooter other = (ArrowFooter) obj; if (dictionaries == null) { - if (other.dictionaries != null) + if (other.dictionaries != null) { return false; - } else if (!dictionaries.equals(other.dictionaries)) + } + } else if (!dictionaries.equals(other.dictionaries)) { return false; + } if (recordBatches == null) { - if (other.recordBatches != null) + if (other.recordBatches != null) { return false; - } else if (!recordBatches.equals(other.recordBatches)) + } + } else if (!recordBatches.equals(other.recordBatches)) { return false; + } if (schema == null) { - if (other.schema != null) + if (other.schema != null) { return false; - } else if (!schema.equals(other.schema)) + } + } else if (!schema.equals(other.schema)) { return false; + } return true; } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowMagic.java b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowMagic.java index 99ea96b3856..0d2da375295 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowMagic.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowMagic.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.io.IOException; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowReader.java b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowReader.java index f6b10414552..646d6feeef0 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowReader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowReader.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.io.IOException; @@ -94,12 +95,21 @@ public boolean loadNextBatch() throws IOException { ArrowMessageVisitor visitor = new ArrowMessageVisitor() { @Override public Boolean visit(ArrowDictionaryBatch message) { - try { load(message); } finally { message.close(); } + try { + load(message); + } finally { + message.close(); + } return true; } + @Override public Boolean visit(ArrowRecordBatch message) { - try { loader.load(message); } finally { message.close(); } + try { + loader.load(message); + } finally { + message.close(); + } return false; } }; @@ -119,13 +129,15 @@ public Boolean visit(ArrowRecordBatch message) { return readBatch; } - public long bytesRead() { return in.bytesRead(); } + public long bytesRead() { + return in.bytesRead(); + } @Override public void close() throws IOException { if (initialized) { root.close(); - for (Dictionary dictionary: dictionaries.values()) { + for (Dictionary dictionary : dictionaries.values()) { dictionary.getVector().close(); } } @@ -153,7 +165,7 @@ private void initialize() throws IOException { Map dictionaries = new HashMap<>(); // Convert fields with dictionaries to have the index type - for (Field field: originalSchema.getFields()) { + for (Field field : originalSchema.getFields()) { Field updated = DictionaryUtility.toMemoryFormat(field, allocator, dictionaries); fields.add(updated); vectors.add(updated.createVector(allocator)); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowWriter.java index 3b37071382f..b35aba5426e 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowWriter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/ArrowWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.io.IOException; @@ -60,9 +61,9 @@ public abstract class ArrowWriter implements AutoCloseable { /** * Note: fields are not closed when the writer is closed * - * @param root the vectors to write to the output + * @param root the vectors to write to the output * @param provider where to find the dictionaries - * @param out the output where to write + * @param out the output where to write */ protected ArrowWriter(VectorSchemaRoot root, DictionaryProvider provider, WritableByteChannel out) { this.unloader = new VectorUnloader(root); @@ -72,13 +73,13 @@ protected ArrowWriter(VectorSchemaRoot root, DictionaryProvider provider, Writab Set dictionaryIdsUsed = new HashSet<>(); // Convert fields with dictionaries to have dictionary type - for (Field field: root.getSchema().getFields()) { + for (Field field : root.getSchema().getFields()) { fields.add(DictionaryUtility.toMessageFormat(field, provider, dictionaryIdsUsed)); } // Create a record batch for each dictionary this.dictionaries = new ArrayList<>(dictionaryIdsUsed.size()); - for (long id: dictionaryIdsUsed) { + for (long id : dictionaryIdsUsed) { Dictionary dictionary = provider.lookup(id); FieldVector vector = dictionary.getVector(); int count = vector.getAccessor().getValueCount(); @@ -105,7 +106,7 @@ public void writeBatch() throws IOException { protected void writeRecordBatch(ArrowRecordBatch batch) throws IOException { ArrowBlock block = MessageSerializer.serialize(out, batch); LOGGER.debug(String.format("RecordBatch at %d, metadata: %d, body: %d", - block.getOffset(), block.getMetadataLength(), block.getBodyLength())); + block.getOffset(), block.getMetadataLength(), block.getBodyLength())); recordBlocks.add(block); } @@ -114,7 +115,9 @@ public void end() throws IOException { ensureEnded(); } - public long bytesWritten() { return out.getCurrentPosition(); } + public long bytesWritten() { + return out.getCurrentPosition(); + } private void ensureStarted() throws IOException { if (!started) { @@ -128,7 +131,7 @@ private void ensureStarted() throws IOException { try { ArrowBlock block = MessageSerializer.serialize(out, batch); LOGGER.debug(String.format("DictionaryRecordBatch at %d, metadata: %d, body: %d", - block.getOffset(), block.getMetadataLength(), block.getBodyLength())); + block.getOffset(), block.getMetadataLength(), block.getBodyLength())); dictionaryBlocks.add(block); } finally { batch.close(); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/InvalidArrowFileException.java b/java/vector/src/main/java/org/apache/arrow/vector/file/InvalidArrowFileException.java index 3ec75dcb12a..607207f41b0 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/InvalidArrowFileException.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/InvalidArrowFileException.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; public class InvalidArrowFileException extends RuntimeException { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/ReadChannel.java b/java/vector/src/main/java/org/apache/arrow/vector/file/ReadChannel.java index 87450e38f68..b0eb8f3d84d 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/ReadChannel.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/ReadChannel.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.io.IOException; @@ -37,11 +38,14 @@ public ReadChannel(ReadableByteChannel in) { this.in = in; } - public long bytesRead() { return bytesRead; } + public long bytesRead() { + return bytesRead; + } /** * Reads bytes into buffer until it is full (buffer.remaining() == 0). Returns the * number of bytes read which can be less than full if there are no more. + * * @param buffer The buffer to read to * @return the number of byte read * @throws IOException if nit enough bytes left to read @@ -51,9 +55,13 @@ public int readFully(ByteBuffer buffer) throws IOException { int totalRead = 0; while (buffer.remaining() != 0) { int read = in.read(buffer); - if (read < 0) return totalRead; + if (read < 0) { + return totalRead; + } totalRead += read; - if (read == 0) break; + if (read == 0) { + break; + } } this.bytesRead += totalRead; return totalRead; @@ -61,8 +69,9 @@ public int readFully(ByteBuffer buffer) throws IOException { /** * Reads up to len into buffer. Returns bytes read. + * * @param buffer the buffer to read to - * @param l the amount of bytes to read + * @param l the amount of bytes to read * @return the number of bytes read * @throws IOException if nit enough bytes left to read */ diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/SeekableReadChannel.java b/java/vector/src/main/java/org/apache/arrow/vector/file/SeekableReadChannel.java index 914c3cb4b33..46bea1314da 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/SeekableReadChannel.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/SeekableReadChannel.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.io.IOException; @@ -22,18 +23,18 @@ public class SeekableReadChannel extends ReadChannel { - private final SeekableByteChannel in; + private final SeekableByteChannel in; - public SeekableReadChannel(SeekableByteChannel in) { - super(in); - this.in = in; - } + public SeekableReadChannel(SeekableByteChannel in) { + super(in); + this.in = in; + } - public void setPosition(long position) throws IOException { - in.position(position); - } + public void setPosition(long position) throws IOException { + in.position(position); + } - public long size() throws IOException { - return in.size(); - } + public long size() throws IOException { + return in.size(); + } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/WriteChannel.java b/java/vector/src/main/java/org/apache/arrow/vector/file/WriteChannel.java index 42104d181a2..89c9d1f9b7a 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/WriteChannel.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/WriteChannel.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.io.IOException; @@ -62,7 +63,7 @@ public long writeZeros(int zeroCount) throws IOException { public long align() throws IOException { if (currentPosition % 8 != 0) { // align on 8 byte boundaries - return writeZeros(8 - (int)(currentPosition % 8)); + return writeZeros(8 - (int) (currentPosition % 8)); } return 0; } @@ -77,10 +78,10 @@ public long write(ByteBuffer buffer) throws IOException { public static byte[] intToBytes(int value) { byte[] outBuffer = new byte[4]; - outBuffer[3] = (byte)(value >>> 24); - outBuffer[2] = (byte)(value >>> 16); - outBuffer[1] = (byte)(value >>> 8); - outBuffer[0] = (byte)(value >>> 0); + outBuffer[3] = (byte) (value >>> 24); + outBuffer[2] = (byte) (value >>> 16); + outBuffer[1] = (byte) (value >>> 8); + outBuffer[0] = (byte) (value >>> 0); return outBuffer; } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/json/JsonFileReader.java b/java/vector/src/main/java/org/apache/arrow/vector/file/json/JsonFileReader.java index 364d273fada..484a82fdaab 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/json/JsonFileReader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/json/JsonFileReader.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.file.json; import static com.fasterxml.jackson.core.JsonToken.END_ARRAY; @@ -114,7 +115,7 @@ public Schema start() throws JsonParseException, IOException { dictionaries = new HashMap<>(); // Convert fields with dictionaries to have the index type - for (Field field: originalSchema.getFields()) { + for (Field field : originalSchema.getFields()) { fields.add(DictionaryUtility.toMemoryFormat(field, allocator, dictionaries)); } this.schema = new Schema(fields, originalSchema.getCustomMetadata()); @@ -233,7 +234,7 @@ private void readVector(Field field, FieldVector vector) throws JsonParseExcepti BufferBacked innerVector = fieldInnerVectors.get(v); nextFieldIs(vectorType.getName()); readToken(START_ARRAY); - ValueVector valueVector = (ValueVector)innerVector; + ValueVector valueVector = (ValueVector) innerVector; valueVector.allocateNew(); Mutator mutator = valueVector.getMutator(); @@ -262,7 +263,7 @@ private void readVector(Field field, FieldVector vector) throws JsonParseExcepti readToken(END_ARRAY); } if (vector instanceof NullableMapVector) { - ((NullableMapVector)vector).valueCount = count; + ((NullableMapVector) vector).valueCount = count; } } readToken(END_OBJECT); @@ -278,96 +279,96 @@ private byte[] decodeHexSafe(String hexString) throws IOException { private void setValueFromParser(ValueVector valueVector, int i) throws IOException { switch (valueVector.getMinorType()) { - case BIT: - ((BitVector)valueVector).getMutator().set(i, parser.readValueAs(Boolean.class) ? 1 : 0); - break; - case TINYINT: - ((TinyIntVector)valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); - break; - case SMALLINT: - ((SmallIntVector)valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); - break; - case INT: - ((IntVector)valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); - break; - case BIGINT: - ((BigIntVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case UINT1: - ((UInt1Vector)valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); - break; - case UINT2: - ((UInt2Vector)valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); - break; - case UINT4: - ((UInt4Vector)valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); - break; - case UINT8: - ((UInt8Vector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case FLOAT4: - ((Float4Vector)valueVector).getMutator().set(i, parser.readValueAs(Float.class)); - break; - case FLOAT8: - ((Float8Vector)valueVector).getMutator().set(i, parser.readValueAs(Double.class)); - break; - case VARBINARY: - ((VarBinaryVector)valueVector).getMutator().setSafe(i, decodeHexSafe(parser.readValueAs(String.class))); - break; - case VARCHAR: - ((VarCharVector)valueVector).getMutator().setSafe(i, parser.readValueAs(String.class).getBytes(UTF_8)); - break; - case DATEDAY: - ((DateDayVector)valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); - break; - case DATEMILLI: - ((DateMilliVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMESEC: - ((TimeSecVector)valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); - break; - case TIMEMILLI: - ((TimeMilliVector)valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); - break; - case TIMEMICRO: - ((TimeMicroVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMENANO: - ((TimeNanoVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMESTAMPSEC: - ((TimeStampSecVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMESTAMPMILLI: - ((TimeStampMilliVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMESTAMPMICRO: - ((TimeStampMicroVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMESTAMPNANO: - ((TimeStampNanoVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMESTAMPSECTZ: - ((TimeStampSecTZVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMESTAMPMILLITZ: - ((TimeStampMilliTZVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMESTAMPMICROTZ: - ((TimeStampMicroTZVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - case TIMESTAMPNANOTZ: - ((TimeStampNanoTZVector)valueVector).getMutator().set(i, parser.readValueAs(Long.class)); - break; - default: - throw new UnsupportedOperationException("minor type: " + valueVector.getMinorType()); + case BIT: + ((BitVector) valueVector).getMutator().set(i, parser.readValueAs(Boolean.class) ? 1 : 0); + break; + case TINYINT: + ((TinyIntVector) valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); + break; + case SMALLINT: + ((SmallIntVector) valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); + break; + case INT: + ((IntVector) valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); + break; + case BIGINT: + ((BigIntVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case UINT1: + ((UInt1Vector) valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); + break; + case UINT2: + ((UInt2Vector) valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); + break; + case UINT4: + ((UInt4Vector) valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); + break; + case UINT8: + ((UInt8Vector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case FLOAT4: + ((Float4Vector) valueVector).getMutator().set(i, parser.readValueAs(Float.class)); + break; + case FLOAT8: + ((Float8Vector) valueVector).getMutator().set(i, parser.readValueAs(Double.class)); + break; + case VARBINARY: + ((VarBinaryVector) valueVector).getMutator().setSafe(i, decodeHexSafe(parser.readValueAs(String.class))); + break; + case VARCHAR: + ((VarCharVector) valueVector).getMutator().setSafe(i, parser.readValueAs(String.class).getBytes(UTF_8)); + break; + case DATEDAY: + ((DateDayVector) valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); + break; + case DATEMILLI: + ((DateMilliVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMESEC: + ((TimeSecVector) valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); + break; + case TIMEMILLI: + ((TimeMilliVector) valueVector).getMutator().set(i, parser.readValueAs(Integer.class)); + break; + case TIMEMICRO: + ((TimeMicroVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMENANO: + ((TimeNanoVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMESTAMPSEC: + ((TimeStampSecVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMESTAMPMILLI: + ((TimeStampMilliVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMESTAMPMICRO: + ((TimeStampMicroVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMESTAMPNANO: + ((TimeStampNanoVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMESTAMPSECTZ: + ((TimeStampSecTZVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMESTAMPMILLITZ: + ((TimeStampMilliTZVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMESTAMPMICROTZ: + ((TimeStampMicroTZVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + case TIMESTAMPNANOTZ: + ((TimeStampNanoTZVector) valueVector).getMutator().set(i, parser.readValueAs(Long.class)); + break; + default: + throw new UnsupportedOperationException("minor type: " + valueVector.getMinorType()); } } @Override public void close() throws IOException { parser.close(); - for (Dictionary dictionary: dictionaries.values()) { + for (Dictionary dictionary : dictionaries.values()) { dictionary.getVector().close(); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/file/json/JsonFileWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/file/json/JsonFileWriter.java index befa92251f0..a2229cef231 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/file/json/JsonFileWriter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/file/json/JsonFileWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.file.json; import java.io.File; @@ -60,12 +61,15 @@ public class JsonFileWriter implements AutoCloseable { public static final class JSONWriteConfig { private final boolean pretty; + private JSONWriteConfig(boolean pretty) { this.pretty = pretty; } + private JSONWriteConfig() { this.pretty = false; } + public JSONWriteConfig pretty(boolean pretty) { return new JSONWriteConfig(pretty); } @@ -98,7 +102,7 @@ public void start(Schema schema, DictionaryProvider provider) throws IOException this.schema = schema; // Store original Schema to ensure batches written match // Convert fields with dictionaries to have dictionary type - for (Field field: schema.getFields()) { + for (Field field : schema.getFields()) { fields.add(DictionaryUtility.toMessageFormat(field, provider, dictionaryIdsUsed)); } Schema updatedSchema = new Schema(fields, schema.getCustomMetadata()); @@ -117,7 +121,7 @@ public void start(Schema schema, DictionaryProvider provider) throws IOException private void writeDictionaryBatches(JsonGenerator generator, Set dictionaryIdsUsed, DictionaryProvider provider) throws IOException { generator.writeArrayFieldStart("dictionaries"); - for (Long id: dictionaryIdsUsed) { + for (Long id : dictionaryIdsUsed) { generator.writeStartObject(); generator.writeObjectField("id", id); @@ -170,7 +174,7 @@ private void writeVector(Field field, FieldVector vector) throws IOException { ArrowVectorType vectorType = vectorTypes.get(v); BufferBacked innerVector = fieldInnerVectors.get(v); generator.writeArrayFieldStart(vectorType.getName()); - ValueVector valueVector = (ValueVector)innerVector; + ValueVector valueVector = (ValueVector) innerVector; for (int i = 0; i < valueVector.getAccessor().getValueCount(); i++) { writeValueToGenerator(valueVector, i); } @@ -197,37 +201,37 @@ private void writeVector(Field field, FieldVector vector) throws IOException { private void writeValueToGenerator(ValueVector valueVector, int i) throws IOException { switch (valueVector.getMinorType()) { case DATEDAY: - generator.writeNumber(((DateDayVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((DateDayVector) valueVector).getAccessor().get(i)); break; case DATEMILLI: - generator.writeNumber(((DateMilliVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((DateMilliVector) valueVector).getAccessor().get(i)); break; case TIMESEC: - generator.writeNumber(((TimeSecVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((TimeSecVector) valueVector).getAccessor().get(i)); break; case TIMEMILLI: - generator.writeNumber(((TimeMilliVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((TimeMilliVector) valueVector).getAccessor().get(i)); break; case TIMEMICRO: - generator.writeNumber(((TimeMicroVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((TimeMicroVector) valueVector).getAccessor().get(i)); break; case TIMENANO: - generator.writeNumber(((TimeNanoVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((TimeNanoVector) valueVector).getAccessor().get(i)); break; case TIMESTAMPSEC: - generator.writeNumber(((TimeStampSecVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((TimeStampSecVector) valueVector).getAccessor().get(i)); break; case TIMESTAMPMILLI: - generator.writeNumber(((TimeStampMilliVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((TimeStampMilliVector) valueVector).getAccessor().get(i)); break; case TIMESTAMPMICRO: - generator.writeNumber(((TimeStampMicroVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((TimeStampMicroVector) valueVector).getAccessor().get(i)); break; case TIMESTAMPNANO: - generator.writeNumber(((TimeStampNanoVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((TimeStampNanoVector) valueVector).getAccessor().get(i)); break; case BIT: - generator.writeNumber(((BitVector)valueVector).getAccessor().get(i)); + generator.writeNumber(((BitVector) valueVector).getAccessor().get(i)); break; case VARBINARY: String hexString = Hex.encodeHexString(((VarBinaryVector) valueVector).getAccessor().get(i)); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/holders/ComplexHolder.java b/java/vector/src/main/java/org/apache/arrow/vector/holders/ComplexHolder.java index 0f9310da55b..9f923ee343c 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/holders/ComplexHolder.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/holders/ComplexHolder.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.holders; import org.apache.arrow.vector.complex.reader.FieldReader; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedListHolder.java b/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedListHolder.java index 83506cdc175..d8b2317f8ff 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedListHolder.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedListHolder.java @@ -15,9 +15,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.holders; -public final class RepeatedListHolder implements ValueHolder{ +public final class RepeatedListHolder implements ValueHolder { public int start; public int end; } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedMapHolder.java b/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedMapHolder.java index 85d782b3818..c400b4dc49a 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedMapHolder.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/holders/RepeatedMapHolder.java @@ -15,9 +15,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.holders; -public final class RepeatedMapHolder implements ValueHolder{ +public final class RepeatedMapHolder implements ValueHolder { public int start; public int end; } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/holders/UnionHolder.java b/java/vector/src/main/java/org/apache/arrow/vector/holders/UnionHolder.java index b1b695e58a9..46cf4c8e8c7 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/holders/UnionHolder.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/holders/UnionHolder.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.holders; import org.apache.arrow.vector.complex.reader.FieldReader; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/holders/ValueHolder.java b/java/vector/src/main/java/org/apache/arrow/vector/holders/ValueHolder.java index 16777c806ec..4d012635e54 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/holders/ValueHolder.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/holders/ValueHolder.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.holders; /** diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowBuffer.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowBuffer.java index 4e2e200d676..d8c9e3001d0 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowBuffer.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowBuffer.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; import org.apache.arrow.flatbuf.Buffer; @@ -58,19 +59,25 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } ArrowBuffer other = (ArrowBuffer) obj; - if (offset != other.offset) + if (offset != other.offset) { return false; - if (page != other.page) + } + if (page != other.page) { return false; - if (size != other.size) + } + if (size != other.size) { return false; + } return true; } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowDictionaryBatch.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowDictionaryBatch.java index 901877b7058..635fa3fb423 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowDictionaryBatch.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowDictionaryBatch.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; import com.google.flatbuffers.FlatBufferBuilder; @@ -22,39 +23,48 @@ public class ArrowDictionaryBatch implements ArrowMessage { - private final long dictionaryId; - private final ArrowRecordBatch dictionary; - - public ArrowDictionaryBatch(long dictionaryId, ArrowRecordBatch dictionary) { - this.dictionaryId = dictionaryId; - this.dictionary = dictionary; - } - - public long getDictionaryId() { return dictionaryId; } - public ArrowRecordBatch getDictionary() { return dictionary; } - - @Override - public int writeTo(FlatBufferBuilder builder) { - int dataOffset = dictionary.writeTo(builder); - DictionaryBatch.startDictionaryBatch(builder); - DictionaryBatch.addId(builder, dictionaryId); - DictionaryBatch.addData(builder, dataOffset); - return DictionaryBatch.endDictionaryBatch(builder); - } - - @Override - public int computeBodyLength() { return dictionary.computeBodyLength(); } - - @Override - public T accepts(ArrowMessageVisitor visitor) { return visitor.visit(this); } - - @Override - public String toString() { - return "ArrowDictionaryBatch [dictionaryId=" + dictionaryId + ", dictionary=" + dictionary + "]"; - } - - @Override - public void close() { - dictionary.close(); - } + private final long dictionaryId; + private final ArrowRecordBatch dictionary; + + public ArrowDictionaryBatch(long dictionaryId, ArrowRecordBatch dictionary) { + this.dictionaryId = dictionaryId; + this.dictionary = dictionary; + } + + public long getDictionaryId() { + return dictionaryId; + } + + public ArrowRecordBatch getDictionary() { + return dictionary; + } + + @Override + public int writeTo(FlatBufferBuilder builder) { + int dataOffset = dictionary.writeTo(builder); + DictionaryBatch.startDictionaryBatch(builder); + DictionaryBatch.addId(builder, dictionaryId); + DictionaryBatch.addData(builder, dataOffset); + return DictionaryBatch.endDictionaryBatch(builder); + } + + @Override + public int computeBodyLength() { + return dictionary.computeBodyLength(); + } + + @Override + public T accepts(ArrowMessageVisitor visitor) { + return visitor.visit(this); + } + + @Override + public String toString() { + return "ArrowDictionaryBatch [dictionaryId=" + dictionaryId + ", dictionary=" + dictionary + "]"; + } + + @Override + public void close() { + dictionary.close(); + } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowFieldNode.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowFieldNode.java index 72ce982f2e7..3ed384ed7e2 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowFieldNode.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowFieldNode.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; import org.apache.arrow.flatbuf.FieldNode; @@ -34,7 +35,7 @@ public ArrowFieldNode(int length, int nullCount) { @Override public int writeTo(FlatBufferBuilder builder) { - return FieldNode.createFieldNode(builder, (long)length, (long)nullCount); + return FieldNode.createFieldNode(builder, (long) length, (long) nullCount); } public int getNullCount() { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowMessage.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowMessage.java index d307428889b..f59b4b6c172 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowMessage.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowMessage.java @@ -15,16 +15,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; public interface ArrowMessage extends FBSerializable, AutoCloseable { - public int computeBodyLength(); + public int computeBodyLength(); + + public T accepts(ArrowMessageVisitor visitor); - public T accepts(ArrowMessageVisitor visitor); + public static interface ArrowMessageVisitor { + public T visit(ArrowDictionaryBatch message); - public static interface ArrowMessageVisitor { - public T visit(ArrowDictionaryBatch message); - public T visit(ArrowRecordBatch message); - } + public T visit(ArrowRecordBatch message); + } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowRecordBatch.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowRecordBatch.java index 6a716fa138a..d2f37824695 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowRecordBatch.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowRecordBatch.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; import static org.apache.arrow.vector.schema.FBSerializables.writeAllStructsToVector; @@ -36,10 +37,14 @@ public class ArrowRecordBatch implements ArrowMessage { private static final Logger LOGGER = LoggerFactory.getLogger(ArrowRecordBatch.class); - /** number of records */ + /** + * number of records + */ private final int length; - /** Nodes correspond to the pre-ordered flattened logical schema */ + /** + * Nodes correspond to the pre-ordered flattened logical schema + */ private final List nodes; private final List buffers; @@ -53,8 +58,8 @@ public ArrowRecordBatch(int length, List nodes, List b } /** - * @param length how many rows in this batch - * @param nodes field level info + * @param length how many rows in this batch + * @param nodes field level info * @param buffers will be retained until this recordBatch is closed */ public ArrowRecordBatch(int length, List nodes, List buffers, boolean alignBuffers) { @@ -119,7 +124,9 @@ public int writeTo(FlatBufferBuilder builder) { } @Override - public T accepts(ArrowMessageVisitor visitor) { return visitor.visit(this); } + public T accepts(ArrowMessageVisitor visitor) { + return visitor.visit(this); + } /** * releases the buffers diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowVectorType.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowVectorType.java index 68da7052f2b..9d2fdfaafe4 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowVectorType.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/ArrowVectorType.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; import java.util.Map; @@ -34,10 +35,11 @@ public class ArrowVectorType { public static final ArrowVectorType TYPE = new ArrowVectorType(VectorType.TYPE); private static final Map typeByName; + static { - ArrowVectorType[] types = { DATA, OFFSET, VALIDITY, TYPE }; + ArrowVectorType[] types = {DATA, OFFSET, VALIDITY, TYPE}; Builder builder = ImmutableMap.builder(); - for (ArrowVectorType type: types) { + for (ArrowVectorType type : types) { builder.put(type.getName(), type); } typeByName = builder.build(); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/FBSerializable.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/FBSerializable.java index d23ed91948e..91d60ea995b 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/FBSerializable.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/FBSerializable.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; import com.google.flatbuffers.FlatBufferBuilder; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/FBSerializables.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/FBSerializables.java index 31c17ad6df0..ae5aa555e74 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/FBSerializables.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/FBSerializables.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; import java.util.ArrayList; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/TypeLayout.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/TypeLayout.java index 24840ec988a..29407bf1ab4 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/TypeLayout.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/TypeLayout.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; import static java.util.Arrays.asList; @@ -61,11 +62,13 @@ public class TypeLayout { public static TypeLayout getTypeLayout(final ArrowType arrowType) { TypeLayout layout = arrowType.accept(new ArrowTypeVisitor() { - @Override public TypeLayout visit(Int type) { + @Override + public TypeLayout visit(Int type) { return newFixedWidthTypeLayout(dataVector(type.getBitWidth())); } - @Override public TypeLayout visit(Union type) { + @Override + public TypeLayout visit(Union type) { List vectors; switch (type.getMode()) { case Dense: @@ -74,12 +77,12 @@ public static TypeLayout getTypeLayout(final ArrowType arrowType) { validityVector(), typeVector(), offsetVector() // offset to find the vector - ); + ); break; case Sparse: vectors = asList( typeVector() // type of the value at the index or 0 if null - ); + ); break; default: throw new UnsupportedOperationException("Unsupported Union Mode: " + type.getMode()); @@ -87,64 +90,73 @@ public static TypeLayout getTypeLayout(final ArrowType arrowType) { return new TypeLayout(vectors); } - @Override public TypeLayout visit(Struct type) { + @Override + public TypeLayout visit(Struct type) { List vectors = asList( validityVector() - ); + ); return new TypeLayout(vectors); } - @Override public TypeLayout visit(Timestamp type) { + @Override + public TypeLayout visit(Timestamp type) { return newFixedWidthTypeLayout(dataVector(64)); } - @Override public TypeLayout visit(org.apache.arrow.vector.types.pojo.ArrowType.List type) { + @Override + public TypeLayout visit(org.apache.arrow.vector.types.pojo.ArrowType.List type) { List vectors = asList( validityVector(), offsetVector() - ); + ); return new TypeLayout(vectors); } - @Override public TypeLayout visit(FixedSizeList type) { + @Override + public TypeLayout visit(FixedSizeList type) { List vectors = asList( validityVector() - ); + ); return new TypeLayout(vectors); } - @Override public TypeLayout visit(FloatingPoint type) { + @Override + public TypeLayout visit(FloatingPoint type) { int bitWidth; switch (type.getPrecision()) { - case HALF: - bitWidth = 16; - break; - case SINGLE: - bitWidth = 32; - break; - case DOUBLE: - bitWidth = 64; - break; - default: - throw new UnsupportedOperationException("Unsupported Precision: " + type.getPrecision()); + case HALF: + bitWidth = 16; + break; + case SINGLE: + bitWidth = 32; + break; + case DOUBLE: + bitWidth = 64; + break; + default: + throw new UnsupportedOperationException("Unsupported Precision: " + type.getPrecision()); } return newFixedWidthTypeLayout(dataVector(bitWidth)); } - @Override public TypeLayout visit(Decimal type) { + @Override + public TypeLayout visit(Decimal type) { // TODO: check size return newFixedWidthTypeLayout(dataVector(64)); // actually depends on the type fields } - @Override public TypeLayout visit(Bool type) { + @Override + public TypeLayout visit(Bool type) { return newFixedWidthTypeLayout(booleanVector()); } - @Override public TypeLayout visit(Binary type) { + @Override + public TypeLayout visit(Binary type) { return newVariableWidthTypeLayout(); } - @Override public TypeLayout visit(Utf8 type) { + @Override + public TypeLayout visit(Utf8 type) { return newVariableWidthTypeLayout(); } @@ -178,12 +190,12 @@ public TypeLayout visit(Time type) { @Override public TypeLayout visit(Interval type) { // TODO: check size switch (type.getUnit()) { - case DAY_TIME: - return newFixedWidthTypeLayout(dataVector(64)); - case YEAR_MONTH: - return newFixedWidthTypeLayout(dataVector(64)); - default: - throw new UnsupportedOperationException("Unknown unit " + type.getUnit()); + case DAY_TIME: + return newFixedWidthTypeLayout(dataVector(64)); + case YEAR_MONTH: + return newFixedWidthTypeLayout(dataVector(64)); + default: + throw new UnsupportedOperationException("Unknown unit " + type.getUnit()); } } @@ -228,12 +240,15 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } TypeLayout other = (TypeLayout) obj; return vectors.equals(other.vectors); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/schema/VectorLayout.java b/java/vector/src/main/java/org/apache/arrow/vector/schema/VectorLayout.java index 2073795b2a1..0871baf38ed 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/schema/VectorLayout.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/schema/VectorLayout.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.schema; import static org.apache.arrow.vector.schema.ArrowVectorType.DATA; @@ -48,16 +49,16 @@ public static VectorLayout offsetVector() { public static VectorLayout dataVector(int typeBitWidth) { switch (typeBitWidth) { - case 8: - return VALUES_8; - case 16: - return VALUES_16; - case 32: - return VALUES_32; - case 64: - return VALUES_64; - default: - throw new IllegalArgumentException("only 8, 16, 32, or 64 bits supported"); + case 8: + return VALUES_8; + case 16: + return VALUES_16; + case 32: + return VALUES_32; + case 64: + return VALUES_64; + default: + throw new IllegalArgumentException("only 8, 16, 32, or 64 bits supported"); } } @@ -81,7 +82,7 @@ public static VectorLayout byteVector() { private VectorLayout(@JsonProperty("type") ArrowVectorType type, @JsonProperty("typeBitWidth") int typeBitWidth) { super(); this.type = Preconditions.checkNotNull(type); - this.typeBitWidth = (short)typeBitWidth; + this.typeBitWidth = (short) typeBitWidth; if (typeBitWidth <= 0) { throw new IllegalArgumentException("bitWidth invalid: " + typeBitWidth); } @@ -111,18 +112,22 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; + } VectorLayout other = (VectorLayout) obj; return type.equals(other.type) && (typeBitWidth == other.typeBitWidth); } @Override - public int writeTo(FlatBufferBuilder builder) {; + public int writeTo(FlatBufferBuilder builder) { + ; return org.apache.arrow.flatbuf.VectorLayout.createVectorLayout(builder, typeBitWidth, type.getType()); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/stream/ArrowStreamReader.java b/java/vector/src/main/java/org/apache/arrow/vector/stream/ArrowStreamReader.java index 641978a516a..5b6300076b6 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/stream/ArrowStreamReader.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/stream/ArrowStreamReader.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.stream; import java.io.IOException; @@ -33,31 +34,33 @@ */ public class ArrowStreamReader extends ArrowReader { - /** - * Constructs a streaming read, reading bytes from 'in'. Non-blocking. - * @param in the stream to read from - * @param allocator to allocate new buffers - */ - public ArrowStreamReader(ReadableByteChannel in, BufferAllocator allocator) { - super(new ReadChannel(in), allocator); - } - - public ArrowStreamReader(InputStream in, BufferAllocator allocator) { - this(Channels.newChannel(in), allocator); - } - - /** - * Reads the schema message from the beginning of the stream. - * @param in to allocate new buffers - * @return the deserialized arrow schema - */ - @Override - protected Schema readSchema(ReadChannel in) throws IOException { - return MessageSerializer.deserializeSchema(in); - } - - @Override - protected ArrowMessage readMessage(ReadChannel in, BufferAllocator allocator) throws IOException { - return MessageSerializer.deserializeMessageBatch(in, allocator); - } + /** + * Constructs a streaming read, reading bytes from 'in'. Non-blocking. + * + * @param in the stream to read from + * @param allocator to allocate new buffers + */ + public ArrowStreamReader(ReadableByteChannel in, BufferAllocator allocator) { + super(new ReadChannel(in), allocator); + } + + public ArrowStreamReader(InputStream in, BufferAllocator allocator) { + this(Channels.newChannel(in), allocator); + } + + /** + * Reads the schema message from the beginning of the stream. + * + * @param in to allocate new buffers + * @return the deserialized arrow schema + */ + @Override + protected Schema readSchema(ReadChannel in) throws IOException { + return MessageSerializer.deserializeSchema(in); + } + + @Override + protected ArrowMessage readMessage(ReadChannel in, BufferAllocator allocator) throws IOException { + return MessageSerializer.deserializeMessageBatch(in, allocator); + } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/stream/ArrowStreamWriter.java b/java/vector/src/main/java/org/apache/arrow/vector/stream/ArrowStreamWriter.java index ea29cd99804..b854cd2bb6e 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/stream/ArrowStreamWriter.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/stream/ArrowStreamWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.stream; import org.apache.arrow.memory.BufferAllocator; @@ -35,22 +36,23 @@ public class ArrowStreamWriter extends ArrowWriter { - public ArrowStreamWriter(VectorSchemaRoot root, DictionaryProvider provider, OutputStream out) { - this(root, provider, Channels.newChannel(out)); - } + public ArrowStreamWriter(VectorSchemaRoot root, DictionaryProvider provider, OutputStream out) { + this(root, provider, Channels.newChannel(out)); + } - public ArrowStreamWriter(VectorSchemaRoot root, DictionaryProvider provider, WritableByteChannel out) { - super(root, provider, out); - } + public ArrowStreamWriter(VectorSchemaRoot root, DictionaryProvider provider, WritableByteChannel out) { + super(root, provider, out); + } - @Override - protected void startInternal(WriteChannel out) throws IOException {} + @Override + protected void startInternal(WriteChannel out) throws IOException { + } - @Override - protected void endInternal(WriteChannel out, - Schema schema, - List dictionaries, - List records) throws IOException { - out.writeIntLittleEndian(0); - } + @Override + protected void endInternal(WriteChannel out, + Schema schema, + List dictionaries, + List records) throws IOException { + out.writeIntLittleEndian(0); + } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/stream/MessageSerializer.java b/java/vector/src/main/java/org/apache/arrow/vector/stream/MessageSerializer.java index 05ad92ded1d..a70d0293894 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/stream/MessageSerializer.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/stream/MessageSerializer.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.stream; import java.io.IOException; @@ -48,29 +49,30 @@ * Utility class for serializing Messages. Messages are all serialized a similar way. * 1. 4 byte little endian message header prefix * 2. FB serialized Message: This includes it the body length, which is the serialized - * body and the type of the message. + * body and the type of the message. * 3. Serialized message. * * For schema messages, the serialization is simply the FB serialized Schema. * * For RecordBatch messages the serialization is: - * 1. 4 byte little endian batch metadata header - * 2. FB serialized RowBatch - * 3. Padding to align to 8 byte boundary. - * 4. serialized RowBatch buffers. + * 1. 4 byte little endian batch metadata header + * 2. FB serialized RowBatch + * 3. Padding to align to 8 byte boundary. + * 4. serialized RowBatch buffers. */ public class MessageSerializer { public static int bytesToInt(byte[] bytes) { return ((bytes[3] & 255) << 24) + - ((bytes[2] & 255) << 16) + - ((bytes[1] & 255) << 8) + - ((bytes[0] & 255) << 0); + ((bytes[2] & 255) << 16) + + ((bytes[1] & 255) << 8) + + ((bytes[0] & 255) << 0); } /** * Serialize a schema object. - * @param out where to write the schema + * + * @param out where to write the schema * @param schema the object to serialize to out * @return the resulting size of the serialized schema * @throws IOException if something went wrong @@ -86,6 +88,7 @@ public static long serialize(WriteChannel out, Schema schema) throws IOException /** * Deserializes a schema object. Format is from serialize(). + * * @param in the channel to deserialize from * @return the deserialized object * @throws IOException if something went wrong @@ -106,13 +109,14 @@ public static Schema deserializeSchema(ReadChannel in) throws IOException { /** * Serializes an ArrowRecordBatch. Returns the offset and length of the written batch. - * @param out where to write the batch + * + * @param out where to write the batch * @param batch the object to serialize to out * @return the serialized block metadata * @throws IOException if something went wrong */ public static ArrowBlock serialize(WriteChannel out, ArrowRecordBatch batch) - throws IOException { + throws IOException { long start = out.getCurrentPosition(); int bodyLength = batch.computeBodyLength(); @@ -125,9 +129,9 @@ public static ArrowBlock serialize(WriteChannel out, ArrowRecordBatch batch) int metadataLength = serializedMessage.remaining(); // calculate alignment bytes so that metadata length points to the correct location after alignment - int padding = (int)((start + metadataLength + 4) % 8); + int padding = (int) ((start + metadataLength + 4) % 8); if (padding != 0) { - metadataLength += (8 - padding); + metadataLength += (8 - padding); } out.writeIntLittleEndian(metadataLength); @@ -152,7 +156,7 @@ public static long writeBatchBuffers(WriteChannel out, ArrowRecordBatch batch) t ArrowBuffer layout = buffersLayout.get(i); long startPosition = bufferStart + layout.getOffset(); if (startPosition != out.getCurrentPosition()) { - out.writeZeros((int)(startPosition - out.getCurrentPosition())); + out.writeZeros((int) (startPosition - out.getCurrentPosition())); } out.write(buffer); if (out.getCurrentPosition() != startPosition + layout.getSize()) { @@ -165,9 +169,10 @@ public static long writeBatchBuffers(WriteChannel out, ArrowRecordBatch batch) t /** * Deserializes a RecordBatch - * @param in the channel to deserialize from + * + * @param in the channel to deserialize from * @param message the object to derialize to - * @param alloc to allocate buffers + * @param alloc to allocate buffers * @return the deserialized object * @throws IOException if something went wrong */ @@ -188,14 +193,15 @@ public static ArrowRecordBatch deserializeRecordBatch(ReadChannel in, Message me /** * Deserializes a RecordBatch knowing the size of the entire message up front. This * minimizes the number of reads to the underlying stream. - * @param in the channel to deserialize from + * + * @param in the channel to deserialize from * @param block the object to derialize to * @param alloc to allocate buffers * @return the deserialized object * @throws IOException if something went wrong */ public static ArrowRecordBatch deserializeRecordBatch(ReadChannel in, ArrowBlock block, - BufferAllocator alloc) throws IOException { + BufferAllocator alloc) throws IOException { // Metadata length contains integer prefix plus byte padding long totalLen = block.getMetadataLength() + block.getBodyLength(); @@ -223,37 +229,38 @@ public static ArrowRecordBatch deserializeRecordBatch(ReadChannel in, ArrowBlock // Deserializes a record batch given the Flatbuffer metadata and in-memory body public static ArrowRecordBatch deserializeRecordBatch(RecordBatch recordBatchFB, - ArrowBuf body) throws IOException { + ArrowBuf body) throws IOException { // Now read the body int nodesLength = recordBatchFB.nodesLength(); List nodes = new ArrayList<>(); for (int i = 0; i < nodesLength; ++i) { FieldNode node = recordBatchFB.nodes(i); - if ((int)node.length() != node.length() || - (int)node.nullCount() != node.nullCount()) { + if ((int) node.length() != node.length() || + (int) node.nullCount() != node.nullCount()) { throw new IOException("Cannot currently deserialize record batches with " + - "node length larger than Int.MAX_VALUE"); + "node length larger than Int.MAX_VALUE"); } - nodes.add(new ArrowFieldNode((int)node.length(), (int)node.nullCount())); + nodes.add(new ArrowFieldNode((int) node.length(), (int) node.nullCount())); } List buffers = new ArrayList<>(); for (int i = 0; i < recordBatchFB.buffersLength(); ++i) { Buffer bufferFB = recordBatchFB.buffers(i); - ArrowBuf vectorBuffer = body.slice((int)bufferFB.offset(), (int)bufferFB.length()); + ArrowBuf vectorBuffer = body.slice((int) bufferFB.offset(), (int) bufferFB.length()); buffers.add(vectorBuffer); } - if ((int)recordBatchFB.length() != recordBatchFB.length()) { + if ((int) recordBatchFB.length() != recordBatchFB.length()) { throw new IOException("Cannot currently deserialize record batches over 2GB"); } ArrowRecordBatch arrowRecordBatch = - new ArrowRecordBatch((int)recordBatchFB.length(), nodes, buffers); + new ArrowRecordBatch((int) recordBatchFB.length(), nodes, buffers); body.release(); return arrowRecordBatch; } /** * Serializes a dictionary ArrowRecordBatch. Returns the offset and length of the written batch. - * @param out where to serialize + * + * @param out where to serialize * @param batch the batch to serialize * @return the metadata of the serialized block * @throws IOException if something went wrong @@ -290,15 +297,16 @@ public static ArrowBlock serialize(WriteChannel out, ArrowDictionaryBatch batch) /** * Deserializes a DictionaryBatch - * @param in where to read from + * + * @param in where to read from * @param message the message message metadata to deserialize - * @param alloc the allocator for new buffers + * @param alloc the allocator for new buffers * @return the corresponding dictionary batch * @throws IOException if something went wrong */ public static ArrowDictionaryBatch deserializeDictionaryBatch(ReadChannel in, - Message message, - BufferAllocator alloc) throws IOException { + Message message, + BufferAllocator alloc) throws IOException { DictionaryBatch dictionaryBatchFB = (DictionaryBatch) message.header(new DictionaryBatch()); int bodyLength = (int) message.bodyLength(); @@ -315,7 +323,8 @@ public static ArrowDictionaryBatch deserializeDictionaryBatch(ReadChannel in, /** * Deserializes a DictionaryBatch knowing the size of the entire message up front. This * minimizes the number of reads to the underlying stream. - * @param in where to read from + * + * @param in where to read from * @param block block metadata for deserializing * @param alloc to allocate new buffers * @return the corresponding dictionary @@ -345,7 +354,7 @@ public static ArrowDictionaryBatch deserializeDictionaryBatch(ReadChannel in, // Now read the body final ArrowBuf body = buffer.slice(block.getMetadataLength(), - (int) totalLen - block.getMetadataLength()); + (int) totalLen - block.getMetadataLength()); ArrowRecordBatch recordBatch = deserializeRecordBatch(dictionaryBatchFB.data(), body); return new ArrowDictionaryBatch(dictionaryBatchFB.id(), recordBatch); } @@ -359,22 +368,26 @@ public static ArrowMessage deserializeMessageBatch(ReadChannel in, BufferAllocat } switch (message.headerType()) { - case MessageHeader.RecordBatch: return deserializeRecordBatch(in, message, alloc); - case MessageHeader.DictionaryBatch: return deserializeDictionaryBatch(in, message, alloc); - default: throw new IOException("Unexpected message header type " + message.headerType()); + case MessageHeader.RecordBatch: + return deserializeRecordBatch(in, message, alloc); + case MessageHeader.DictionaryBatch: + return deserializeDictionaryBatch(in, message, alloc); + default: + throw new IOException("Unexpected message header type " + message.headerType()); } } /** * Serializes a message header. - * @param builder to write the flatbuf to - * @param headerType headerType field + * + * @param builder to write the flatbuf to + * @param headerType headerType field * @param headerOffset header offset field - * @param bodyLength body length field + * @param bodyLength body length field * @return the corresponding ByteBuffer */ public static ByteBuffer serializeMessage(FlatBufferBuilder builder, byte headerType, - int headerOffset, int bodyLength) { + int headerOffset, int bodyLength) { Message.startMessage(builder); Message.addHeaderType(builder, headerType); Message.addHeader(builder, headerOffset); @@ -387,9 +400,13 @@ public static ByteBuffer serializeMessage(FlatBufferBuilder builder, byte header private static Message deserializeMessage(ReadChannel in) throws IOException { // Read the message size. There is an i32 little endian prefix. ByteBuffer buffer = ByteBuffer.allocate(4); - if (in.readFully(buffer) != 4) return null; + if (in.readFully(buffer) != 4) { + return null; + } int messageLength = bytesToInt(buffer.array()); - if (messageLength == 0) return null; + if (messageLength == 0) { + return null; + } buffer = ByteBuffer.allocate(messageLength); if (in.readFully(buffer) != messageLength) { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/DateUnit.java b/java/vector/src/main/java/org/apache/arrow/vector/types/DateUnit.java index e5beebffde9..003d3cdbceb 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/DateUnit.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/DateUnit.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.types; public enum DateUnit { @@ -22,6 +23,7 @@ public enum DateUnit { MILLISECOND(org.apache.arrow.flatbuf.DateUnit.MILLISECOND); private static final DateUnit[] valuesByFlatbufId = new DateUnit[DateUnit.values().length]; + static { for (DateUnit v : DateUnit.values()) { valuesByFlatbufId[v.flatbufID] = v; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/FloatingPointPrecision.java b/java/vector/src/main/java/org/apache/arrow/vector/types/FloatingPointPrecision.java index 3206969fb7e..ec253287b26 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/FloatingPointPrecision.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/FloatingPointPrecision.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.types; import org.apache.arrow.flatbuf.Precision; @@ -25,6 +26,7 @@ public enum FloatingPointPrecision { DOUBLE(Precision.DOUBLE); private static final FloatingPointPrecision[] valuesByFlatbufId = new FloatingPointPrecision[FloatingPointPrecision.values().length]; + static { for (FloatingPointPrecision v : FloatingPointPrecision.values()) { valuesByFlatbufId[v.flatbufID] = v; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/IntervalUnit.java b/java/vector/src/main/java/org/apache/arrow/vector/types/IntervalUnit.java index b3ddf1fe497..a8157f19e1a 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/IntervalUnit.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/IntervalUnit.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.types; public enum IntervalUnit { @@ -22,6 +23,7 @@ public enum IntervalUnit { DAY_TIME(org.apache.arrow.flatbuf.IntervalUnit.DAY_TIME); private static final IntervalUnit[] valuesByFlatbufId = new IntervalUnit[IntervalUnit.values().length]; + static { for (IntervalUnit v : IntervalUnit.values()) { valuesByFlatbufId[v.flatbufID] = v; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/TimeUnit.java b/java/vector/src/main/java/org/apache/arrow/vector/types/TimeUnit.java index cea98669658..1da9321fcc4 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/TimeUnit.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/TimeUnit.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.types; public enum TimeUnit { @@ -24,6 +25,7 @@ public enum TimeUnit { NANOSECOND(org.apache.arrow.flatbuf.TimeUnit.NANOSECOND); private static final TimeUnit[] valuesByFlatbufId = new TimeUnit[TimeUnit.values().length]; + static { for (TimeUnit v : TimeUnit.values()) { valuesByFlatbufId[v.flatbufID] = v; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/Types.java b/java/vector/src/main/java/org/apache/arrow/vector/types/Types.java index 6591a4b16da..c57dd6dafe9 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/Types.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/Types.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.types; import static org.apache.arrow.vector.types.FloatingPointPrecision.DOUBLE; @@ -531,73 +532,83 @@ public final ArrowType getType() { public static MinorType getMinorTypeForArrowType(ArrowType arrowType) { return arrowType.accept(new ArrowTypeVisitor() { - @Override public MinorType visit(Null type) { + @Override + public MinorType visit(Null type) { return MinorType.NULL; } - @Override public MinorType visit(Struct type) { + @Override + public MinorType visit(Struct type) { return MinorType.MAP; } - @Override public MinorType visit(List type) { + @Override + public MinorType visit(List type) { return MinorType.LIST; } - @Override public MinorType visit(FixedSizeList type) { + @Override + public MinorType visit(FixedSizeList type) { return MinorType.FIXED_SIZE_LIST; } - @Override public MinorType visit(Union type) { + @Override + public MinorType visit(Union type) { return MinorType.UNION; } @Override public MinorType visit(Int type) { switch (type.getBitWidth()) { - case 8: - return type.getIsSigned() ? MinorType.TINYINT : MinorType.UINT1; - case 16: - return type.getIsSigned() ? MinorType.SMALLINT : MinorType.UINT2; - case 32: - return type.getIsSigned() ? MinorType.INT : MinorType.UINT4; - case 64: - return type.getIsSigned() ? MinorType.BIGINT : MinorType.UINT8; - default: - throw new IllegalArgumentException("only 8, 16, 32, 64 supported: " + type); + case 8: + return type.getIsSigned() ? MinorType.TINYINT : MinorType.UINT1; + case 16: + return type.getIsSigned() ? MinorType.SMALLINT : MinorType.UINT2; + case 32: + return type.getIsSigned() ? MinorType.INT : MinorType.UINT4; + case 64: + return type.getIsSigned() ? MinorType.BIGINT : MinorType.UINT8; + default: + throw new IllegalArgumentException("only 8, 16, 32, 64 supported: " + type); } } @Override public MinorType visit(FloatingPoint type) { switch (type.getPrecision()) { - case HALF: - throw new UnsupportedOperationException("NYI: " + type); - case SINGLE: - return MinorType.FLOAT4; - case DOUBLE: - return MinorType.FLOAT8; - default: - throw new IllegalArgumentException("unknown precision: " + type); + case HALF: + throw new UnsupportedOperationException("NYI: " + type); + case SINGLE: + return MinorType.FLOAT4; + case DOUBLE: + return MinorType.FLOAT8; + default: + throw new IllegalArgumentException("unknown precision: " + type); } } - @Override public MinorType visit(Utf8 type) { + @Override + public MinorType visit(Utf8 type) { return MinorType.VARCHAR; } - @Override public MinorType visit(Binary type) { + @Override + public MinorType visit(Binary type) { return MinorType.VARBINARY; } - @Override public MinorType visit(Bool type) { + @Override + public MinorType visit(Bool type) { return MinorType.BIT; } - @Override public MinorType visit(Decimal type) { + @Override + public MinorType visit(Decimal type) { return MinorType.DECIMAL; } - @Override public MinorType visit(Date type) { + @Override + public MinorType visit(Date type) { switch (type.getUnit()) { case DAY: return MinorType.DATEDAY; @@ -608,7 +619,8 @@ public MinorType visit(FloatingPoint type) { } } - @Override public MinorType visit(Time type) { + @Override + public MinorType visit(Time type) { switch (type.getUnit()) { case SECOND: return MinorType.TIMESEC; @@ -623,7 +635,8 @@ public MinorType visit(FloatingPoint type) { } } - @Override public MinorType visit(Timestamp type) { + @Override + public MinorType visit(Timestamp type) { String tz = type.getTimezone(); switch (type.getUnit()) { case SECOND: @@ -642,12 +655,12 @@ public MinorType visit(FloatingPoint type) { @Override public MinorType visit(Interval type) { switch (type.getUnit()) { - case DAY_TIME: - return MinorType.INTERVALDAY; - case YEAR_MONTH: - return MinorType.INTERVALYEAR; - default: - throw new IllegalArgumentException("unknown unit: " + type); + case DAY_TIME: + return MinorType.INTERVALDAY; + case YEAR_MONTH: + return MinorType.INTERVALYEAR; + default: + throw new IllegalArgumentException("unknown unit: " + type); } } }); diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/UnionMode.java b/java/vector/src/main/java/org/apache/arrow/vector/types/UnionMode.java index 8e957bc0b6e..231e85fb2c7 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/UnionMode.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/UnionMode.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.types; public enum UnionMode { @@ -22,6 +23,7 @@ public enum UnionMode { Dense(org.apache.arrow.flatbuf.UnionMode.Dense); private static final UnionMode[] valuesByFlatbufId = new UnionMode[UnionMode.values().length]; + static { for (UnionMode v : UnionMode.values()) { valuesByFlatbufId[v.flatbufID] = v; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/DictionaryEncoding.java b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/DictionaryEncoding.java index 8a0224d5564..2657532fa9b 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/DictionaryEncoding.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/DictionaryEncoding.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.types.pojo; import java.util.Objects; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/Field.java b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/Field.java index a8f2ae5fbab..48e71a976c0 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/Field.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/Field.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.types.pojo; @@ -166,7 +167,7 @@ public int getField(FlatBufferBuilder builder) { int layoutOffset = org.apache.arrow.flatbuf.Field.createLayoutVector(builder, buffersData); int[] metadataOffsets = new int[getMetadata().size()]; Iterator> metadataIterator = getMetadata().entrySet().iterator(); - for (int i = 0; i < metadataOffsets.length; i ++) { + for (int i = 0; i < metadataOffsets.length; i++) { Entry kv = metadataIterator.next(); int keyOffset = builder.createString(kv.getKey()); int valueOffset = builder.createString(kv.getValue()); @@ -239,11 +240,11 @@ public boolean equals(Object obj) { } Field that = (Field) obj; return Objects.equals(this.name, that.name) && - Objects.equals(this.isNullable(), that.isNullable()) && - Objects.equals(this.getType(), that.getType()) && - Objects.equals(this.getDictionary(), that.getDictionary()) && - Objects.equals(this.getMetadata(), that.getMetadata()) && - Objects.equals(this.children, that.children); + Objects.equals(this.isNullable(), that.isNullable()) && + Objects.equals(this.getType(), that.getType()) && + Objects.equals(this.getDictionary(), that.getDictionary()) && + Objects.equals(this.getMetadata(), that.getMetadata()) && + Objects.equals(this.children, that.children); } @Override diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/FieldType.java b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/FieldType.java index c8fc689cd2c..f0856198a4c 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/FieldType.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/FieldType.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.types.pojo; import static com.google.common.base.Preconditions.checkNotNull; @@ -55,12 +56,15 @@ public FieldType(boolean nullable, ArrowType type, DictionaryEncoding dictionary public boolean isNullable() { return nullable; } + public ArrowType getType() { return type; } + public DictionaryEncoding getDictionary() { return dictionary; } + public Map getMetadata() { return metadata; } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/Schema.java b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/Schema.java index 82e2ef55c20..a87d4490060 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/Schema.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/types/pojo/Schema.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.types.pojo; @@ -53,7 +54,7 @@ public class Schema { /** * @param fields the list of the fields - * @param name the name of the field to return + * @param name the name of the field to return * @return the corresponding field * @throws IllegalArgumentException if the field was not found */ @@ -146,7 +147,7 @@ public int getSchema(FlatBufferBuilder builder) { int fieldsOffset = org.apache.arrow.flatbuf.Schema.createFieldsVector(builder, fieldOffsets); int[] metadataOffsets = new int[metadata.size()]; Iterator> metadataIterator = metadata.entrySet().iterator(); - for (int i = 0; i < metadataOffsets.length; i ++) { + for (int i = 0; i < metadataOffsets.length; i++) { Entry kv = metadataIterator.next(); int keyOffset = builder.createString(kv.getKey()); int valueOffset = builder.createString(kv.getValue()); @@ -174,7 +175,7 @@ public boolean equals(Object obj) { return false; } return Objects.equals(this.fields, ((Schema) obj).fields) && - Objects.equals(this.metadata, ((Schema) obj).metadata); + Objects.equals(this.metadata, ((Schema) obj).metadata); } @Override diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/ByteArrayReadableSeekableByteChannel.java b/java/vector/src/main/java/org/apache/arrow/vector/util/ByteArrayReadableSeekableByteChannel.java index 69840fefa96..80d4a4684c5 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/ByteArrayReadableSeekableByteChannel.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/ByteArrayReadableSeekableByteChannel.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; import java.io.IOException; @@ -58,7 +59,7 @@ public long position() throws IOException { @Override public SeekableByteChannel position(final long newPosition) throws IOException { - this.position = (int)newPosition; + this.position = (int) newPosition; return this; } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/ByteFunctionHelpers.java b/java/vector/src/main/java/org/apache/arrow/vector/util/ByteFunctionHelpers.java index 68b9fb25f21..5fe556a5527 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/ByteFunctionHelpers.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/ByteFunctionHelpers.java @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ + package org.apache.arrow.vector.util; import io.netty.buffer.ArrowBuf; @@ -31,15 +32,15 @@ public class ByteFunctionHelpers { /** * Helper function to check for equality of bytes in two ArrowBufs * - * @param left Left ArrowBuf for comparison + * @param left Left ArrowBuf for comparison * @param lStart start offset in the buffer - * @param lEnd end offset in the buffer - * @param right Right ArrowBuf for comparison + * @param lEnd end offset in the buffer + * @param right Right ArrowBuf for comparison * @param rStart start offset in the buffer - * @param rEnd end offset in the buffer + * @param rEnd end offset in the buffer * @return 1 if left input is greater, -1 if left input is smaller, 0 otherwise */ - public static final int equal(final ArrowBuf left, int lStart, int lEnd, final ArrowBuf right, int rStart, int rEnd){ + public static final int equal(final ArrowBuf left, int lStart, int lEnd, final ArrowBuf right, int rStart, int rEnd) { if (BoundsChecking.BOUNDS_CHECKING_ENABLED) { left.checkBytes(lStart, lEnd); right.checkBytes(rStart, rEnd); @@ -48,7 +49,7 @@ public static final int equal(final ArrowBuf left, int lStart, int lEnd, final A } private static final int memEqual(final long laddr, int lStart, int lEnd, final long raddr, int rStart, - final int rEnd) { + final int rEnd) { int n = lEnd - lStart; if (n == rEnd - rStart) { @@ -85,15 +86,15 @@ private static final int memEqual(final long laddr, int lStart, int lEnd, final * * Function will check data before completing in the case that * - * @param left Left ArrowBuf to compare + * @param left Left ArrowBuf to compare * @param lStart start offset in the buffer - * @param lEnd end offset in the buffer - * @param right Right ArrowBuf to compare + * @param lEnd end offset in the buffer + * @param right Right ArrowBuf to compare * @param rStart start offset in the buffer - * @param rEnd end offset in the buffer + * @param rEnd end offset in the buffer * @return 1 if left input is greater, -1 if left input is smaller, 0 otherwise */ - public static final int compare(final ArrowBuf left, int lStart, int lEnd, final ArrowBuf right, int rStart, int rEnd){ + public static final int compare(final ArrowBuf left, int lStart, int lEnd, final ArrowBuf right, int rStart, int rEnd) { if (BoundsChecking.BOUNDS_CHECKING_ENABLED) { left.checkBytes(lStart, lEnd); right.checkBytes(rStart, rEnd); @@ -140,12 +141,12 @@ private static final int memcmp(final long laddr, int lStart, int lEnd, final lo /** * Helper function to compare a set of bytes in ArrowBuf to a ByteArray. * - * @param left Left ArrowBuf for comparison purposes + * @param left Left ArrowBuf for comparison purposes * @param lStart start offset in the buffer - * @param lEnd end offset in the buffer - * @param right second input to be compared + * @param lEnd end offset in the buffer + * @param right second input to be compared * @param rStart start offset in the byte array - * @param rEnd end offset in the byte array + * @param rEnd end offset in the byte array * @return 1 if left input is greater, -1 if left input is smaller, 0 otherwise */ public static final int compare(final ArrowBuf left, int lStart, int lEnd, final byte[] right, int rStart, final int rEnd) { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/CallBack.java b/java/vector/src/main/java/org/apache/arrow/vector/util/CallBack.java index 249834270b3..38e3b78c778 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/CallBack.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/CallBack.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/DateUtility.java b/java/vector/src/main/java/org/apache/arrow/vector/util/DateUtility.java index 8aad41744f6..3dd169b8235 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/DateUtility.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/DateUtility.java @@ -33,660 +33,660 @@ public class DateUtility { - /* We have a hashmap that stores the timezone as the key and an index as the value - * While storing the timezone in value vectors, holders we only use this index. As we - * reconstruct the timestamp, we use this index to index through the array timezoneList - * and get the corresponding timezone and pass it to joda-time - */ + /* We have a hashmap that stores the timezone as the key and an index as the value + * While storing the timezone in value vectors, holders we only use this index. As we + * reconstruct the timestamp, we use this index to index through the array timezoneList + * and get the corresponding timezone and pass it to joda-time + */ public static ObjectIntHashMap timezoneMap = new ObjectIntHashMap(); - public static String[] timezoneList = {"Africa/Abidjan", - "Africa/Accra", - "Africa/Addis_Ababa", - "Africa/Algiers", - "Africa/Asmara", - "Africa/Asmera", - "Africa/Bamako", - "Africa/Bangui", - "Africa/Banjul", - "Africa/Bissau", - "Africa/Blantyre", - "Africa/Brazzaville", - "Africa/Bujumbura", - "Africa/Cairo", - "Africa/Casablanca", - "Africa/Ceuta", - "Africa/Conakry", - "Africa/Dakar", - "Africa/Dar_es_Salaam", - "Africa/Djibouti", - "Africa/Douala", - "Africa/El_Aaiun", - "Africa/Freetown", - "Africa/Gaborone", - "Africa/Harare", - "Africa/Johannesburg", - "Africa/Juba", - "Africa/Kampala", - "Africa/Khartoum", - "Africa/Kigali", - "Africa/Kinshasa", - "Africa/Lagos", - "Africa/Libreville", - "Africa/Lome", - "Africa/Luanda", - "Africa/Lubumbashi", - "Africa/Lusaka", - "Africa/Malabo", - "Africa/Maputo", - "Africa/Maseru", - "Africa/Mbabane", - "Africa/Mogadishu", - "Africa/Monrovia", - "Africa/Nairobi", - "Africa/Ndjamena", - "Africa/Niamey", - "Africa/Nouakchott", - "Africa/Ouagadougou", - "Africa/Porto-Novo", - "Africa/Sao_Tome", - "Africa/Timbuktu", - "Africa/Tripoli", - "Africa/Tunis", - "Africa/Windhoek", - "America/Adak", - "America/Anchorage", - "America/Anguilla", - "America/Antigua", - "America/Araguaina", - "America/Argentina/Buenos_Aires", - "America/Argentina/Catamarca", - "America/Argentina/ComodRivadavia", - "America/Argentina/Cordoba", - "America/Argentina/Jujuy", - "America/Argentina/La_Rioja", - "America/Argentina/Mendoza", - "America/Argentina/Rio_Gallegos", - "America/Argentina/Salta", - "America/Argentina/San_Juan", - "America/Argentina/San_Luis", - "America/Argentina/Tucuman", - "America/Argentina/Ushuaia", - "America/Aruba", - "America/Asuncion", - "America/Atikokan", - "America/Atka", - "America/Bahia", - "America/Bahia_Banderas", - "America/Barbados", - "America/Belem", - "America/Belize", - "America/Blanc-Sablon", - "America/Boa_Vista", - "America/Bogota", - "America/Boise", - "America/Buenos_Aires", - "America/Cambridge_Bay", - "America/Campo_Grande", - "America/Cancun", - "America/Caracas", - "America/Catamarca", - "America/Cayenne", - "America/Cayman", - "America/Chicago", - "America/Chihuahua", - "America/Coral_Harbour", - "America/Cordoba", - "America/Costa_Rica", - "America/Cuiaba", - "America/Curacao", - "America/Danmarkshavn", - "America/Dawson", - "America/Dawson_Creek", - "America/Denver", - "America/Detroit", - "America/Dominica", - "America/Edmonton", - "America/Eirunepe", - "America/El_Salvador", - "America/Ensenada", - "America/Fort_Wayne", - "America/Fortaleza", - "America/Glace_Bay", - "America/Godthab", - "America/Goose_Bay", - "America/Grand_Turk", - "America/Grenada", - "America/Guadeloupe", - "America/Guatemala", - "America/Guayaquil", - "America/Guyana", - "America/Halifax", - "America/Havana", - "America/Hermosillo", - "America/Indiana/Indianapolis", - "America/Indiana/Knox", - "America/Indiana/Marengo", - "America/Indiana/Petersburg", - "America/Indiana/Tell_City", - "America/Indiana/Vevay", - "America/Indiana/Vincennes", - "America/Indiana/Winamac", - "America/Indianapolis", - "America/Inuvik", - "America/Iqaluit", - "America/Jamaica", - "America/Jujuy", - "America/Juneau", - "America/Kentucky/Louisville", - "America/Kentucky/Monticello", - "America/Knox_IN", - "America/Kralendijk", - "America/La_Paz", - "America/Lima", - "America/Los_Angeles", - "America/Louisville", - "America/Lower_Princes", - "America/Maceio", - "America/Managua", - "America/Manaus", - "America/Marigot", - "America/Martinique", - "America/Matamoros", - "America/Mazatlan", - "America/Mendoza", - "America/Menominee", - "America/Merida", - "America/Metlakatla", - "America/Mexico_City", - "America/Miquelon", - "America/Moncton", - "America/Monterrey", - "America/Montevideo", - "America/Montreal", - "America/Montserrat", - "America/Nassau", - "America/New_York", - "America/Nipigon", - "America/Nome", - "America/Noronha", - "America/North_Dakota/Beulah", - "America/North_Dakota/Center", - "America/North_Dakota/New_Salem", - "America/Ojinaga", - "America/Panama", - "America/Pangnirtung", - "America/Paramaribo", - "America/Phoenix", - "America/Port-au-Prince", - "America/Port_of_Spain", - "America/Porto_Acre", - "America/Porto_Velho", - "America/Puerto_Rico", - "America/Rainy_River", - "America/Rankin_Inlet", - "America/Recife", - "America/Regina", - "America/Resolute", - "America/Rio_Branco", - "America/Rosario", - "America/Santa_Isabel", - "America/Santarem", - "America/Santiago", - "America/Santo_Domingo", - "America/Sao_Paulo", - "America/Scoresbysund", - "America/Shiprock", - "America/Sitka", - "America/St_Barthelemy", - "America/St_Johns", - "America/St_Kitts", - "America/St_Lucia", - "America/St_Thomas", - "America/St_Vincent", - "America/Swift_Current", - "America/Tegucigalpa", - "America/Thule", - "America/Thunder_Bay", - "America/Tijuana", - "America/Toronto", - "America/Tortola", - "America/Vancouver", - "America/Virgin", - "America/Whitehorse", - "America/Winnipeg", - "America/Yakutat", - "America/Yellowknife", - "Antarctica/Casey", - "Antarctica/Davis", - "Antarctica/DumontDUrville", - "Antarctica/Macquarie", - "Antarctica/Mawson", - "Antarctica/McMurdo", - "Antarctica/Palmer", - "Antarctica/Rothera", - "Antarctica/South_Pole", - "Antarctica/Syowa", - "Antarctica/Vostok", - "Arctic/Longyearbyen", - "Asia/Aden", - "Asia/Almaty", - "Asia/Amman", - "Asia/Anadyr", - "Asia/Aqtau", - "Asia/Aqtobe", - "Asia/Ashgabat", - "Asia/Ashkhabad", - "Asia/Baghdad", - "Asia/Bahrain", - "Asia/Baku", - "Asia/Bangkok", - "Asia/Beirut", - "Asia/Bishkek", - "Asia/Brunei", - "Asia/Calcutta", - "Asia/Choibalsan", - "Asia/Chongqing", - "Asia/Chungking", - "Asia/Colombo", - "Asia/Dacca", - "Asia/Damascus", - "Asia/Dhaka", - "Asia/Dili", - "Asia/Dubai", - "Asia/Dushanbe", - "Asia/Gaza", - "Asia/Harbin", - "Asia/Hebron", - "Asia/Ho_Chi_Minh", - "Asia/Hong_Kong", - "Asia/Hovd", - "Asia/Irkutsk", - "Asia/Istanbul", - "Asia/Jakarta", - "Asia/Jayapura", - "Asia/Jerusalem", - "Asia/Kabul", - "Asia/Kamchatka", - "Asia/Karachi", - "Asia/Kashgar", - "Asia/Kathmandu", - "Asia/Katmandu", - "Asia/Kolkata", - "Asia/Krasnoyarsk", - "Asia/Kuala_Lumpur", - "Asia/Kuching", - "Asia/Kuwait", - "Asia/Macao", - "Asia/Macau", - "Asia/Magadan", - "Asia/Makassar", - "Asia/Manila", - "Asia/Muscat", - "Asia/Nicosia", - "Asia/Novokuznetsk", - "Asia/Novosibirsk", - "Asia/Omsk", - "Asia/Oral", - "Asia/Phnom_Penh", - "Asia/Pontianak", - "Asia/Pyongyang", - "Asia/Qatar", - "Asia/Qyzylorda", - "Asia/Rangoon", - "Asia/Riyadh", - "Asia/Saigon", - "Asia/Sakhalin", - "Asia/Samarkand", - "Asia/Seoul", - "Asia/Shanghai", - "Asia/Singapore", - "Asia/Taipei", - "Asia/Tashkent", - "Asia/Tbilisi", - "Asia/Tehran", - "Asia/Tel_Aviv", - "Asia/Thimbu", - "Asia/Thimphu", - "Asia/Tokyo", - "Asia/Ujung_Pandang", - "Asia/Ulaanbaatar", - "Asia/Ulan_Bator", - "Asia/Urumqi", - "Asia/Vientiane", - "Asia/Vladivostok", - "Asia/Yakutsk", - "Asia/Yekaterinburg", - "Asia/Yerevan", - "Atlantic/Azores", - "Atlantic/Bermuda", - "Atlantic/Canary", - "Atlantic/Cape_Verde", - "Atlantic/Faeroe", - "Atlantic/Faroe", - "Atlantic/Jan_Mayen", - "Atlantic/Madeira", - "Atlantic/Reykjavik", - "Atlantic/South_Georgia", - "Atlantic/St_Helena", - "Atlantic/Stanley", - "Australia/ACT", - "Australia/Adelaide", - "Australia/Brisbane", - "Australia/Broken_Hill", - "Australia/Canberra", - "Australia/Currie", - "Australia/Darwin", - "Australia/Eucla", - "Australia/Hobart", - "Australia/LHI", - "Australia/Lindeman", - "Australia/Lord_Howe", - "Australia/Melbourne", - "Australia/NSW", - "Australia/North", - "Australia/Perth", - "Australia/Queensland", - "Australia/South", - "Australia/Sydney", - "Australia/Tasmania", - "Australia/Victoria", - "Australia/West", - "Australia/Yancowinna", - "Brazil/Acre", - "Brazil/DeNoronha", - "Brazil/East", - "Brazil/West", - "CET", - "CST6CDT", - "Canada/Atlantic", - "Canada/Central", - "Canada/East-Saskatchewan", - "Canada/Eastern", - "Canada/Mountain", - "Canada/Newfoundland", - "Canada/Pacific", - "Canada/Saskatchewan", - "Canada/Yukon", - "Chile/Continental", - "Chile/EasterIsland", - "Cuba", - "EET", - "EST", - "EST5EDT", - "Egypt", - "Eire", - "Etc/GMT", - "Etc/GMT+0", - "Etc/GMT+1", - "Etc/GMT+10", - "Etc/GMT+11", - "Etc/GMT+12", - "Etc/GMT+2", - "Etc/GMT+3", - "Etc/GMT+4", - "Etc/GMT+5", - "Etc/GMT+6", - "Etc/GMT+7", - "Etc/GMT+8", - "Etc/GMT+9", - "Etc/GMT-0", - "Etc/GMT-1", - "Etc/GMT-10", - "Etc/GMT-11", - "Etc/GMT-12", - "Etc/GMT-13", - "Etc/GMT-14", - "Etc/GMT-2", - "Etc/GMT-3", - "Etc/GMT-4", - "Etc/GMT-5", - "Etc/GMT-6", - "Etc/GMT-7", - "Etc/GMT-8", - "Etc/GMT-9", - "Etc/GMT0", - "Etc/Greenwich", - "Etc/UCT", - "Etc/UTC", - "Etc/Universal", - "Etc/Zulu", - "Europe/Amsterdam", - "Europe/Andorra", - "Europe/Athens", - "Europe/Belfast", - "Europe/Belgrade", - "Europe/Berlin", - "Europe/Bratislava", - "Europe/Brussels", - "Europe/Bucharest", - "Europe/Budapest", - "Europe/Chisinau", - "Europe/Copenhagen", - "Europe/Dublin", - "Europe/Gibraltar", - "Europe/Guernsey", - "Europe/Helsinki", - "Europe/Isle_of_Man", - "Europe/Istanbul", - "Europe/Jersey", - "Europe/Kaliningrad", - "Europe/Kiev", - "Europe/Lisbon", - "Europe/Ljubljana", - "Europe/London", - "Europe/Luxembourg", - "Europe/Madrid", - "Europe/Malta", - "Europe/Mariehamn", - "Europe/Minsk", - "Europe/Monaco", - "Europe/Moscow", - "Europe/Nicosia", - "Europe/Oslo", - "Europe/Paris", - "Europe/Podgorica", - "Europe/Prague", - "Europe/Riga", - "Europe/Rome", - "Europe/Samara", - "Europe/San_Marino", - "Europe/Sarajevo", - "Europe/Simferopol", - "Europe/Skopje", - "Europe/Sofia", - "Europe/Stockholm", - "Europe/Tallinn", - "Europe/Tirane", - "Europe/Tiraspol", - "Europe/Uzhgorod", - "Europe/Vaduz", - "Europe/Vatican", - "Europe/Vienna", - "Europe/Vilnius", - "Europe/Volgograd", - "Europe/Warsaw", - "Europe/Zagreb", - "Europe/Zaporozhye", - "Europe/Zurich", - "GB", - "GB-Eire", - "GMT", - "GMT+0", - "GMT-0", - "GMT0", - "Greenwich", - "HST", - "Hongkong", - "Iceland", - "Indian/Antananarivo", - "Indian/Chagos", - "Indian/Christmas", - "Indian/Cocos", - "Indian/Comoro", - "Indian/Kerguelen", - "Indian/Mahe", - "Indian/Maldives", - "Indian/Mauritius", - "Indian/Mayotte", - "Indian/Reunion", - "Iran", - "Israel", - "Jamaica", - "Japan", - "Kwajalein", - "Libya", - "MET", - "MST", - "MST7MDT", - "Mexico/BajaNorte", - "Mexico/BajaSur", - "Mexico/General", - "NZ", - "NZ-CHAT", - "Navajo", - "PRC", - "PST8PDT", - "Pacific/Apia", - "Pacific/Auckland", - "Pacific/Chatham", - "Pacific/Chuuk", - "Pacific/Easter", - "Pacific/Efate", - "Pacific/Enderbury", - "Pacific/Fakaofo", - "Pacific/Fiji", - "Pacific/Funafuti", - "Pacific/Galapagos", - "Pacific/Gambier", - "Pacific/Guadalcanal", - "Pacific/Guam", - "Pacific/Honolulu", - "Pacific/Johnston", - "Pacific/Kiritimati", - "Pacific/Kosrae", - "Pacific/Kwajalein", - "Pacific/Majuro", - "Pacific/Marquesas", - "Pacific/Midway", - "Pacific/Nauru", - "Pacific/Niue", - "Pacific/Norfolk", - "Pacific/Noumea", - "Pacific/Pago_Pago", - "Pacific/Palau", - "Pacific/Pitcairn", - "Pacific/Pohnpei", - "Pacific/Ponape", - "Pacific/Port_Moresby", - "Pacific/Rarotonga", - "Pacific/Saipan", - "Pacific/Samoa", - "Pacific/Tahiti", - "Pacific/Tarawa", - "Pacific/Tongatapu", - "Pacific/Truk", - "Pacific/Wake", - "Pacific/Wallis", - "Pacific/Yap", - "Poland", - "Portugal", - "ROC", - "ROK", - "Singapore", - "Turkey", - "UCT", - "US/Alaska", - "US/Aleutian", - "US/Arizona", - "US/Central", - "US/East-Indiana", - "US/Eastern", - "US/Hawaii", - "US/Indiana-Starke", - "US/Michigan", - "US/Mountain", - "US/Pacific", - "US/Pacific-New", - "US/Samoa", - "UTC", - "Universal", - "W-SU", - "WET", - "Zulu"}; + public static String[] timezoneList = {"Africa/Abidjan", + "Africa/Accra", + "Africa/Addis_Ababa", + "Africa/Algiers", + "Africa/Asmara", + "Africa/Asmera", + "Africa/Bamako", + "Africa/Bangui", + "Africa/Banjul", + "Africa/Bissau", + "Africa/Blantyre", + "Africa/Brazzaville", + "Africa/Bujumbura", + "Africa/Cairo", + "Africa/Casablanca", + "Africa/Ceuta", + "Africa/Conakry", + "Africa/Dakar", + "Africa/Dar_es_Salaam", + "Africa/Djibouti", + "Africa/Douala", + "Africa/El_Aaiun", + "Africa/Freetown", + "Africa/Gaborone", + "Africa/Harare", + "Africa/Johannesburg", + "Africa/Juba", + "Africa/Kampala", + "Africa/Khartoum", + "Africa/Kigali", + "Africa/Kinshasa", + "Africa/Lagos", + "Africa/Libreville", + "Africa/Lome", + "Africa/Luanda", + "Africa/Lubumbashi", + "Africa/Lusaka", + "Africa/Malabo", + "Africa/Maputo", + "Africa/Maseru", + "Africa/Mbabane", + "Africa/Mogadishu", + "Africa/Monrovia", + "Africa/Nairobi", + "Africa/Ndjamena", + "Africa/Niamey", + "Africa/Nouakchott", + "Africa/Ouagadougou", + "Africa/Porto-Novo", + "Africa/Sao_Tome", + "Africa/Timbuktu", + "Africa/Tripoli", + "Africa/Tunis", + "Africa/Windhoek", + "America/Adak", + "America/Anchorage", + "America/Anguilla", + "America/Antigua", + "America/Araguaina", + "America/Argentina/Buenos_Aires", + "America/Argentina/Catamarca", + "America/Argentina/ComodRivadavia", + "America/Argentina/Cordoba", + "America/Argentina/Jujuy", + "America/Argentina/La_Rioja", + "America/Argentina/Mendoza", + "America/Argentina/Rio_Gallegos", + "America/Argentina/Salta", + "America/Argentina/San_Juan", + "America/Argentina/San_Luis", + "America/Argentina/Tucuman", + "America/Argentina/Ushuaia", + "America/Aruba", + "America/Asuncion", + "America/Atikokan", + "America/Atka", + "America/Bahia", + "America/Bahia_Banderas", + "America/Barbados", + "America/Belem", + "America/Belize", + "America/Blanc-Sablon", + "America/Boa_Vista", + "America/Bogota", + "America/Boise", + "America/Buenos_Aires", + "America/Cambridge_Bay", + "America/Campo_Grande", + "America/Cancun", + "America/Caracas", + "America/Catamarca", + "America/Cayenne", + "America/Cayman", + "America/Chicago", + "America/Chihuahua", + "America/Coral_Harbour", + "America/Cordoba", + "America/Costa_Rica", + "America/Cuiaba", + "America/Curacao", + "America/Danmarkshavn", + "America/Dawson", + "America/Dawson_Creek", + "America/Denver", + "America/Detroit", + "America/Dominica", + "America/Edmonton", + "America/Eirunepe", + "America/El_Salvador", + "America/Ensenada", + "America/Fort_Wayne", + "America/Fortaleza", + "America/Glace_Bay", + "America/Godthab", + "America/Goose_Bay", + "America/Grand_Turk", + "America/Grenada", + "America/Guadeloupe", + "America/Guatemala", + "America/Guayaquil", + "America/Guyana", + "America/Halifax", + "America/Havana", + "America/Hermosillo", + "America/Indiana/Indianapolis", + "America/Indiana/Knox", + "America/Indiana/Marengo", + "America/Indiana/Petersburg", + "America/Indiana/Tell_City", + "America/Indiana/Vevay", + "America/Indiana/Vincennes", + "America/Indiana/Winamac", + "America/Indianapolis", + "America/Inuvik", + "America/Iqaluit", + "America/Jamaica", + "America/Jujuy", + "America/Juneau", + "America/Kentucky/Louisville", + "America/Kentucky/Monticello", + "America/Knox_IN", + "America/Kralendijk", + "America/La_Paz", + "America/Lima", + "America/Los_Angeles", + "America/Louisville", + "America/Lower_Princes", + "America/Maceio", + "America/Managua", + "America/Manaus", + "America/Marigot", + "America/Martinique", + "America/Matamoros", + "America/Mazatlan", + "America/Mendoza", + "America/Menominee", + "America/Merida", + "America/Metlakatla", + "America/Mexico_City", + "America/Miquelon", + "America/Moncton", + "America/Monterrey", + "America/Montevideo", + "America/Montreal", + "America/Montserrat", + "America/Nassau", + "America/New_York", + "America/Nipigon", + "America/Nome", + "America/Noronha", + "America/North_Dakota/Beulah", + "America/North_Dakota/Center", + "America/North_Dakota/New_Salem", + "America/Ojinaga", + "America/Panama", + "America/Pangnirtung", + "America/Paramaribo", + "America/Phoenix", + "America/Port-au-Prince", + "America/Port_of_Spain", + "America/Porto_Acre", + "America/Porto_Velho", + "America/Puerto_Rico", + "America/Rainy_River", + "America/Rankin_Inlet", + "America/Recife", + "America/Regina", + "America/Resolute", + "America/Rio_Branco", + "America/Rosario", + "America/Santa_Isabel", + "America/Santarem", + "America/Santiago", + "America/Santo_Domingo", + "America/Sao_Paulo", + "America/Scoresbysund", + "America/Shiprock", + "America/Sitka", + "America/St_Barthelemy", + "America/St_Johns", + "America/St_Kitts", + "America/St_Lucia", + "America/St_Thomas", + "America/St_Vincent", + "America/Swift_Current", + "America/Tegucigalpa", + "America/Thule", + "America/Thunder_Bay", + "America/Tijuana", + "America/Toronto", + "America/Tortola", + "America/Vancouver", + "America/Virgin", + "America/Whitehorse", + "America/Winnipeg", + "America/Yakutat", + "America/Yellowknife", + "Antarctica/Casey", + "Antarctica/Davis", + "Antarctica/DumontDUrville", + "Antarctica/Macquarie", + "Antarctica/Mawson", + "Antarctica/McMurdo", + "Antarctica/Palmer", + "Antarctica/Rothera", + "Antarctica/South_Pole", + "Antarctica/Syowa", + "Antarctica/Vostok", + "Arctic/Longyearbyen", + "Asia/Aden", + "Asia/Almaty", + "Asia/Amman", + "Asia/Anadyr", + "Asia/Aqtau", + "Asia/Aqtobe", + "Asia/Ashgabat", + "Asia/Ashkhabad", + "Asia/Baghdad", + "Asia/Bahrain", + "Asia/Baku", + "Asia/Bangkok", + "Asia/Beirut", + "Asia/Bishkek", + "Asia/Brunei", + "Asia/Calcutta", + "Asia/Choibalsan", + "Asia/Chongqing", + "Asia/Chungking", + "Asia/Colombo", + "Asia/Dacca", + "Asia/Damascus", + "Asia/Dhaka", + "Asia/Dili", + "Asia/Dubai", + "Asia/Dushanbe", + "Asia/Gaza", + "Asia/Harbin", + "Asia/Hebron", + "Asia/Ho_Chi_Minh", + "Asia/Hong_Kong", + "Asia/Hovd", + "Asia/Irkutsk", + "Asia/Istanbul", + "Asia/Jakarta", + "Asia/Jayapura", + "Asia/Jerusalem", + "Asia/Kabul", + "Asia/Kamchatka", + "Asia/Karachi", + "Asia/Kashgar", + "Asia/Kathmandu", + "Asia/Katmandu", + "Asia/Kolkata", + "Asia/Krasnoyarsk", + "Asia/Kuala_Lumpur", + "Asia/Kuching", + "Asia/Kuwait", + "Asia/Macao", + "Asia/Macau", + "Asia/Magadan", + "Asia/Makassar", + "Asia/Manila", + "Asia/Muscat", + "Asia/Nicosia", + "Asia/Novokuznetsk", + "Asia/Novosibirsk", + "Asia/Omsk", + "Asia/Oral", + "Asia/Phnom_Penh", + "Asia/Pontianak", + "Asia/Pyongyang", + "Asia/Qatar", + "Asia/Qyzylorda", + "Asia/Rangoon", + "Asia/Riyadh", + "Asia/Saigon", + "Asia/Sakhalin", + "Asia/Samarkand", + "Asia/Seoul", + "Asia/Shanghai", + "Asia/Singapore", + "Asia/Taipei", + "Asia/Tashkent", + "Asia/Tbilisi", + "Asia/Tehran", + "Asia/Tel_Aviv", + "Asia/Thimbu", + "Asia/Thimphu", + "Asia/Tokyo", + "Asia/Ujung_Pandang", + "Asia/Ulaanbaatar", + "Asia/Ulan_Bator", + "Asia/Urumqi", + "Asia/Vientiane", + "Asia/Vladivostok", + "Asia/Yakutsk", + "Asia/Yekaterinburg", + "Asia/Yerevan", + "Atlantic/Azores", + "Atlantic/Bermuda", + "Atlantic/Canary", + "Atlantic/Cape_Verde", + "Atlantic/Faeroe", + "Atlantic/Faroe", + "Atlantic/Jan_Mayen", + "Atlantic/Madeira", + "Atlantic/Reykjavik", + "Atlantic/South_Georgia", + "Atlantic/St_Helena", + "Atlantic/Stanley", + "Australia/ACT", + "Australia/Adelaide", + "Australia/Brisbane", + "Australia/Broken_Hill", + "Australia/Canberra", + "Australia/Currie", + "Australia/Darwin", + "Australia/Eucla", + "Australia/Hobart", + "Australia/LHI", + "Australia/Lindeman", + "Australia/Lord_Howe", + "Australia/Melbourne", + "Australia/NSW", + "Australia/North", + "Australia/Perth", + "Australia/Queensland", + "Australia/South", + "Australia/Sydney", + "Australia/Tasmania", + "Australia/Victoria", + "Australia/West", + "Australia/Yancowinna", + "Brazil/Acre", + "Brazil/DeNoronha", + "Brazil/East", + "Brazil/West", + "CET", + "CST6CDT", + "Canada/Atlantic", + "Canada/Central", + "Canada/East-Saskatchewan", + "Canada/Eastern", + "Canada/Mountain", + "Canada/Newfoundland", + "Canada/Pacific", + "Canada/Saskatchewan", + "Canada/Yukon", + "Chile/Continental", + "Chile/EasterIsland", + "Cuba", + "EET", + "EST", + "EST5EDT", + "Egypt", + "Eire", + "Etc/GMT", + "Etc/GMT+0", + "Etc/GMT+1", + "Etc/GMT+10", + "Etc/GMT+11", + "Etc/GMT+12", + "Etc/GMT+2", + "Etc/GMT+3", + "Etc/GMT+4", + "Etc/GMT+5", + "Etc/GMT+6", + "Etc/GMT+7", + "Etc/GMT+8", + "Etc/GMT+9", + "Etc/GMT-0", + "Etc/GMT-1", + "Etc/GMT-10", + "Etc/GMT-11", + "Etc/GMT-12", + "Etc/GMT-13", + "Etc/GMT-14", + "Etc/GMT-2", + "Etc/GMT-3", + "Etc/GMT-4", + "Etc/GMT-5", + "Etc/GMT-6", + "Etc/GMT-7", + "Etc/GMT-8", + "Etc/GMT-9", + "Etc/GMT0", + "Etc/Greenwich", + "Etc/UCT", + "Etc/UTC", + "Etc/Universal", + "Etc/Zulu", + "Europe/Amsterdam", + "Europe/Andorra", + "Europe/Athens", + "Europe/Belfast", + "Europe/Belgrade", + "Europe/Berlin", + "Europe/Bratislava", + "Europe/Brussels", + "Europe/Bucharest", + "Europe/Budapest", + "Europe/Chisinau", + "Europe/Copenhagen", + "Europe/Dublin", + "Europe/Gibraltar", + "Europe/Guernsey", + "Europe/Helsinki", + "Europe/Isle_of_Man", + "Europe/Istanbul", + "Europe/Jersey", + "Europe/Kaliningrad", + "Europe/Kiev", + "Europe/Lisbon", + "Europe/Ljubljana", + "Europe/London", + "Europe/Luxembourg", + "Europe/Madrid", + "Europe/Malta", + "Europe/Mariehamn", + "Europe/Minsk", + "Europe/Monaco", + "Europe/Moscow", + "Europe/Nicosia", + "Europe/Oslo", + "Europe/Paris", + "Europe/Podgorica", + "Europe/Prague", + "Europe/Riga", + "Europe/Rome", + "Europe/Samara", + "Europe/San_Marino", + "Europe/Sarajevo", + "Europe/Simferopol", + "Europe/Skopje", + "Europe/Sofia", + "Europe/Stockholm", + "Europe/Tallinn", + "Europe/Tirane", + "Europe/Tiraspol", + "Europe/Uzhgorod", + "Europe/Vaduz", + "Europe/Vatican", + "Europe/Vienna", + "Europe/Vilnius", + "Europe/Volgograd", + "Europe/Warsaw", + "Europe/Zagreb", + "Europe/Zaporozhye", + "Europe/Zurich", + "GB", + "GB-Eire", + "GMT", + "GMT+0", + "GMT-0", + "GMT0", + "Greenwich", + "HST", + "Hongkong", + "Iceland", + "Indian/Antananarivo", + "Indian/Chagos", + "Indian/Christmas", + "Indian/Cocos", + "Indian/Comoro", + "Indian/Kerguelen", + "Indian/Mahe", + "Indian/Maldives", + "Indian/Mauritius", + "Indian/Mayotte", + "Indian/Reunion", + "Iran", + "Israel", + "Jamaica", + "Japan", + "Kwajalein", + "Libya", + "MET", + "MST", + "MST7MDT", + "Mexico/BajaNorte", + "Mexico/BajaSur", + "Mexico/General", + "NZ", + "NZ-CHAT", + "Navajo", + "PRC", + "PST8PDT", + "Pacific/Apia", + "Pacific/Auckland", + "Pacific/Chatham", + "Pacific/Chuuk", + "Pacific/Easter", + "Pacific/Efate", + "Pacific/Enderbury", + "Pacific/Fakaofo", + "Pacific/Fiji", + "Pacific/Funafuti", + "Pacific/Galapagos", + "Pacific/Gambier", + "Pacific/Guadalcanal", + "Pacific/Guam", + "Pacific/Honolulu", + "Pacific/Johnston", + "Pacific/Kiritimati", + "Pacific/Kosrae", + "Pacific/Kwajalein", + "Pacific/Majuro", + "Pacific/Marquesas", + "Pacific/Midway", + "Pacific/Nauru", + "Pacific/Niue", + "Pacific/Norfolk", + "Pacific/Noumea", + "Pacific/Pago_Pago", + "Pacific/Palau", + "Pacific/Pitcairn", + "Pacific/Pohnpei", + "Pacific/Ponape", + "Pacific/Port_Moresby", + "Pacific/Rarotonga", + "Pacific/Saipan", + "Pacific/Samoa", + "Pacific/Tahiti", + "Pacific/Tarawa", + "Pacific/Tongatapu", + "Pacific/Truk", + "Pacific/Wake", + "Pacific/Wallis", + "Pacific/Yap", + "Poland", + "Portugal", + "ROC", + "ROK", + "Singapore", + "Turkey", + "UCT", + "US/Alaska", + "US/Aleutian", + "US/Arizona", + "US/Central", + "US/East-Indiana", + "US/Eastern", + "US/Hawaii", + "US/Indiana-Starke", + "US/Michigan", + "US/Mountain", + "US/Pacific", + "US/Pacific-New", + "US/Samoa", + "UTC", + "Universal", + "W-SU", + "WET", + "Zulu"}; - static { - for (int i = 0; i < timezoneList.length; i++) { - timezoneMap.put(timezoneList[i], i); - } + static { + for (int i = 0; i < timezoneList.length; i++) { + timezoneMap.put(timezoneList[i], i); } + } - public static final DateTimeFormatter formatDate = DateTimeFormat.forPattern("yyyy-MM-dd"); - public static final DateTimeFormatter formatTimeStampMilli = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS"); - public static final DateTimeFormatter formatTimeStampTZ = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS ZZZ"); - public static final DateTimeFormatter formatTime = DateTimeFormat.forPattern("HH:mm:ss.SSS"); + public static final DateTimeFormatter formatDate = DateTimeFormat.forPattern("yyyy-MM-dd"); + public static final DateTimeFormatter formatTimeStampMilli = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS"); + public static final DateTimeFormatter formatTimeStampTZ = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS ZZZ"); + public static final DateTimeFormatter formatTime = DateTimeFormat.forPattern("HH:mm:ss.SSS"); - public static DateTimeFormatter dateTimeTZFormat = null; - public static DateTimeFormatter timeFormat = null; + public static DateTimeFormatter dateTimeTZFormat = null; + public static DateTimeFormatter timeFormat = null; - public static final int yearsToMonths = 12; - public static final int hoursToMillis = 60 * 60 * 1000; - public static final int minutesToMillis = 60 * 1000; - public static final int secondsToMillis = 1000; - public static final int monthToStandardDays = 30; - public static final long monthsToMillis = 2592000000L; // 30 * 24 * 60 * 60 * 1000 - public static final int daysToStandardMillis = 24 * 60 * 60 * 1000; + public static final int yearsToMonths = 12; + public static final int hoursToMillis = 60 * 60 * 1000; + public static final int minutesToMillis = 60 * 1000; + public static final int secondsToMillis = 1000; + public static final int monthToStandardDays = 30; + public static final long monthsToMillis = 2592000000L; // 30 * 24 * 60 * 60 * 1000 + public static final int daysToStandardMillis = 24 * 60 * 60 * 1000; public static int getIndex(String timezone) { - return timezoneMap.get(timezone); - } - - public static String getTimeZone(int index) { - return timezoneList[index]; - } + return timezoneMap.get(timezone); + } - // Function returns the date time formatter used to parse date strings - public static DateTimeFormatter getDateTimeFormatter() { + public static String getTimeZone(int index) { + return timezoneList[index]; + } - if (dateTimeTZFormat == null) { - DateTimeFormatter dateFormatter = DateTimeFormat.forPattern("yyyy-MM-dd"); - DateTimeParser optionalTime = DateTimeFormat.forPattern(" HH:mm:ss").getParser(); - DateTimeParser optionalSec = DateTimeFormat.forPattern(".SSS").getParser(); - DateTimeParser optionalZone = DateTimeFormat.forPattern(" ZZZ").getParser(); + // Function returns the date time formatter used to parse date strings + public static DateTimeFormatter getDateTimeFormatter() { - dateTimeTZFormat = new DateTimeFormatterBuilder().append(dateFormatter).appendOptional(optionalTime).appendOptional(optionalSec).appendOptional(optionalZone).toFormatter(); - } + if (dateTimeTZFormat == null) { + DateTimeFormatter dateFormatter = DateTimeFormat.forPattern("yyyy-MM-dd"); + DateTimeParser optionalTime = DateTimeFormat.forPattern(" HH:mm:ss").getParser(); + DateTimeParser optionalSec = DateTimeFormat.forPattern(".SSS").getParser(); + DateTimeParser optionalZone = DateTimeFormat.forPattern(" ZZZ").getParser(); - return dateTimeTZFormat; + dateTimeTZFormat = new DateTimeFormatterBuilder().append(dateFormatter).appendOptional(optionalTime).appendOptional(optionalSec).appendOptional(optionalZone).toFormatter(); } - // Function returns time formatter used to parse time strings - public static DateTimeFormatter getTimeFormatter() { - if (timeFormat == null) { - DateTimeFormatter timeFormatter = DateTimeFormat.forPattern("HH:mm:ss"); - DateTimeParser optionalSec = DateTimeFormat.forPattern(".SSS").getParser(); - timeFormat = new DateTimeFormatterBuilder().append(timeFormatter).appendOptional(optionalSec).toFormatter(); - } - return timeFormat; - } + return dateTimeTZFormat; + } - public static int monthsFromPeriod(Period period){ - return (period.getYears() * yearsToMonths) + period.getMonths(); + // Function returns time formatter used to parse time strings + public static DateTimeFormatter getTimeFormatter() { + if (timeFormat == null) { + DateTimeFormatter timeFormatter = DateTimeFormat.forPattern("HH:mm:ss"); + DateTimeParser optionalSec = DateTimeFormat.forPattern(".SSS").getParser(); + timeFormat = new DateTimeFormatterBuilder().append(timeFormatter).appendOptional(optionalSec).toFormatter(); } + return timeFormat; + } - public static int millisFromPeriod(final Period period){ - return (period.getHours() * hoursToMillis) + - (period.getMinutes() * minutesToMillis) + - (period.getSeconds() * secondsToMillis) + - (period.getMillis()); - } + public static int monthsFromPeriod(Period period) { + return (period.getYears() * yearsToMonths) + period.getMonths(); + } - public static long toMillis(LocalDateTime localDateTime) { - return LocalDateTimes.getLocalMillis(localDateTime); - } + public static int millisFromPeriod(final Period period) { + return (period.getHours() * hoursToMillis) + + (period.getMinutes() * minutesToMillis) + + (period.getSeconds() * secondsToMillis) + + (period.getMillis()); + } - public static int toMillisOfDay(final LocalDateTime localDateTime) { - return localDateTime.toDateTime(DateTimeZone.UTC).millisOfDay().get(); - } + public static long toMillis(LocalDateTime localDateTime) { + return LocalDateTimes.getLocalMillis(localDateTime); + } + + public static int toMillisOfDay(final LocalDateTime localDateTime) { + return localDateTime.toDateTime(DateTimeZone.UTC).millisOfDay().get(); + } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/DecimalUtility.java b/java/vector/src/main/java/org/apache/arrow/vector/util/DecimalUtility.java index 4c439b2cc10..4b11b368dff 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/DecimalUtility.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/DecimalUtility.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; import io.netty.buffer.ArrowBuf; @@ -32,39 +33,39 @@ public class DecimalUtility { public final static int MAX_DIGITS = 9; public final static int DIGITS_BASE = 1000000000; public final static int DIGITS_MAX = 999999999; - public final static int INTEGER_SIZE = (Integer.SIZE/8); + public final static int INTEGER_SIZE = (Integer.SIZE / 8); public final static String[] decimalToString = {"", - "0", - "00", - "000", - "0000", - "00000", - "000000", - "0000000", - "00000000", - "000000000"}; + "0", + "00", + "000", + "0000", + "00000", + "000000", + "0000000", + "00000000", + "000000000"}; public final static long[] scale_long_constants = { - 1, - 10, - 100, - 1000, - 10000, - 100000, - 1000000, - 10000000, - 100000000, - 1000000000, - 10000000000l, - 100000000000l, - 1000000000000l, - 10000000000000l, - 100000000000000l, - 1000000000000000l, - 10000000000000000l, - 100000000000000000l, - 1000000000000000000l}; + 1, + 10, + 100, + 1000, + 10000, + 100000, + 1000000, + 10000000, + 100000000, + 1000000000, + 10000000000l, + 100000000000l, + 1000000000000l, + 10000000000000l, + 100000000000000l, + 1000000000000000l, + 10000000000000000l, + 100000000000000000l, + 1000000000000000000l}; public static final int DECIMAL_BYTE_LENGTH = 16; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/DictionaryUtility.java b/java/vector/src/main/java/org/apache/arrow/vector/util/DictionaryUtility.java index 4108dc46108..cf0596c8c1f 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/DictionaryUtility.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/DictionaryUtility.java @@ -40,7 +40,7 @@ public class DictionaryUtility { * have the dictionary type * * NOTE: in the message format, fields have the dictionary type - * in the memory format, they have the index type + * in the memory format, they have the index type */ public static Field toMessageFormat(Field field, DictionaryProvider provider, Set dictionaryIdsUsed) { DictionaryEncoding encoding = field.getDictionary(); @@ -51,7 +51,7 @@ public static Field toMessageFormat(Field field, DictionaryProvider provider, Se } List updatedChildren = new ArrayList<>(children.size()); - for (Field child: children) { + for (Field child : children) { updatedChildren.add(toMessageFormat(child, provider, dictionaryIdsUsed)); } @@ -85,7 +85,7 @@ public static Field toMemoryFormat(Field field, BufferAllocator allocator, Map updatedChildren = new ArrayList<>(children.size()); - for (Field child: children) { + for (Field child : children) { updatedChildren.add(toMemoryFormat(child, allocator, dictionaries)); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringArrayList.java b/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringArrayList.java index c598069c2c3..480bd76d445 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringArrayList.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringArrayList.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; import java.util.ArrayList; @@ -58,7 +59,7 @@ public boolean equals(Object obj) { public final String toString() { try { return mapper.writeValueAsString(this); - } catch(JsonProcessingException e) { + } catch (JsonProcessingException e) { throw new IllegalStateException("Cannot serialize array list to JSON string", e); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringHashMap.java b/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringHashMap.java index e8ce5221eeb..6455389d582 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringHashMap.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/JsonStringHashMap.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; import java.util.LinkedHashMap; @@ -51,14 +52,14 @@ public boolean equals(Object obj) { return false; } for (K key : this.keySet()) { - if (this.get(key) == null ) { + if (this.get(key) == null) { if (other.get(key) == null) { continue; } else { return false; } } - if ( ! this.get(key).equals(other.get(key))) { + if (!this.get(key).equals(other.get(key))) { return false; } } @@ -69,7 +70,7 @@ public boolean equals(Object obj) { public final String toString() { try { return mapper.writeValueAsString(this); - } catch(JsonProcessingException e) { + } catch (JsonProcessingException e) { throw new IllegalStateException("Cannot serialize hash map to JSON string", e); } } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/MapWithOrdinal.java b/java/vector/src/main/java/org/apache/arrow/vector/util/MapWithOrdinal.java index b35aaa401ba..6d3b390379a 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/MapWithOrdinal.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/MapWithOrdinal.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; import java.util.AbstractMap; @@ -95,16 +96,16 @@ public V get(Object key) { public V put(K key, V value) { final Entry oldPair = primary.get(key); // if key exists try replacing otherwise, assign a new ordinal identifier - final int ordinal = oldPair == null ? primary.size():oldPair.getKey(); + final int ordinal = oldPair == null ? primary.size() : oldPair.getKey(); primary.put(key, new AbstractMap.SimpleImmutableEntry<>(ordinal, value)); secondary.put(ordinal, value); - return oldPair==null ? null:oldPair.getValue(); + return oldPair == null ? null : oldPair.getValue(); } @Override public V remove(Object key) { final Entry oldPair = primary.remove(key); - if (oldPair!=null) { + if (oldPair != null) { final int lastOrdinal = secondary.size(); final V last = secondary.get(lastOrdinal); // normalize mappings so that all numbers until primary.size() is assigned @@ -112,7 +113,7 @@ public V remove(Object key) { secondary.put(oldPair.getKey(), last); primary.put((K) key, new AbstractMap.SimpleImmutableEntry<>(oldPair.getKey(), last)); } - return oldPair==null ? null:oldPair.getValue(); + return oldPair == null ? null : oldPair.getValue(); } @Override diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/OversizedAllocationException.java b/java/vector/src/main/java/org/apache/arrow/vector/util/OversizedAllocationException.java index bd7396249a7..b4ff2522daf 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/OversizedAllocationException.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/OversizedAllocationException.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; @@ -23,7 +24,6 @@ * {@link org.apache.arrow.memory.BufferAllocator#buffer(int) allocator}. * *

Operators should handle this exception to split the batch and later resume the execution on the next iteration.

- * */ public class OversizedAllocationException extends RuntimeException { public OversizedAllocationException() { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/SchemaChangeRuntimeException.java b/java/vector/src/main/java/org/apache/arrow/vector/util/SchemaChangeRuntimeException.java index c2815614307..ddfea948a8f 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/SchemaChangeRuntimeException.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/SchemaChangeRuntimeException.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/Text.java b/java/vector/src/main/java/org/apache/arrow/vector/util/Text.java index ce82f445ad8..15ce132fc80 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/Text.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/Text.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; import java.io.DataInput; @@ -74,13 +75,16 @@ public Text() { /** * Construct from a string. + * * @param string initialize from that string */ public Text(String string) { set(string); } - /** Construct from another text. + /** + * Construct from another text. + * * @param utf8 initialize from that Text */ public Text(Text utf8) { @@ -89,6 +93,7 @@ public Text(Text utf8) { /** * Construct from a byte array. + * * @param utf8 initialize from that byte array */ public Text(byte[] utf8) { @@ -98,6 +103,7 @@ public Text(byte[] utf8) { /** * Get a copy of the bytes that is exactly the length of the data. See {@link #getBytes()} for faster access to the * underlying array. + * * @return a copy of the underlying array */ public byte[] copyBytes() { @@ -109,13 +115,16 @@ public byte[] copyBytes() { /** * Returns the raw bytes; however, only data up to {@link #getLength()} is valid. Please use {@link #copyBytes()} if * you need the returned array to be precisely the length of the data. + * * @return the underlying array */ public byte[] getBytes() { return bytes; } - /** @return the number of bytes in the byte array */ + /** + * @return the number of bytes in the byte array + */ public int getLength() { return length; } @@ -128,12 +137,10 @@ public int getLength() { * @return the Unicode scalar value at position or -1 if the position is invalid or points to a trailing byte */ public int charAt(int position) { - if (position > this.length) - { + if (position > this.length) { return -1; // too long } - if (position < 0) - { + if (position < 0) { return -1; // duh. } @@ -150,7 +157,7 @@ public int find(String what) { * starting position is measured in bytes and the return value is in terms of byte position in the buffer. The backing * buffer is not converted to a string for this operation. * - * @param what the string to search for + * @param what the string to search for * @param start where to start from * @return byte position of the first occurence of the search string in the UTF-8 buffer or -1 if not found */ @@ -196,6 +203,7 @@ public int find(String what, int start) { /** * Set to contain the contents of a string. + * * @param string the string to initialize from */ public void set(String string) { @@ -210,14 +218,18 @@ public void set(String string) { /** * Set to a utf8 byte array + * * @param utf8 the byte array to initialize from */ public void set(byte[] utf8) { set(utf8, 0, utf8.length); } - /** copy a text. - * @param other the text to initialize from */ + /** + * copy a text. + * + * @param other the text to initialize from + */ public void set(Text other) { set(other.getBytes(), 0, other.getLength()); } @@ -225,12 +237,9 @@ public void set(Text other) { /** * Set the Text to range of bytes * - * @param utf8 - * the data to copy from - * @param start - * the first position of the new string - * @param len - * the number of bytes of the new string + * @param utf8 the data to copy from + * @param start the first position of the new string + * @param len the number of bytes of the new string */ public void set(byte[] utf8, int start, int len) { setCapacity(len, false); @@ -241,12 +250,9 @@ public void set(byte[] utf8, int start, int len) { /** * Append a range of bytes to the end of the given text * - * @param utf8 - * the data to copy from - * @param start - * the first position to append from utf8 - * @param len - * the number of bytes to append + * @param utf8 the data to copy from + * @param start the first position to append from utf8 + * @param len the number of bytes to append */ public void append(byte[] utf8, int start, int len) { setCapacity(length + len, true); @@ -270,7 +276,7 @@ public void clear() { * then the capacity and existing content of the buffer are unchanged. If len is larger than the current * capacity, the Text object's capacity is increased to match. * - * @param len the number of bytes we need + * @param len the number of bytes we need * @param keepData should the old data be kept */ private void setCapacity(int len, boolean keepData) { @@ -295,7 +301,8 @@ public String toString() { /** * Read a Text object whose length is already known. This allows creating Text from a stream which uses a different * serialization format. - * @param in the input to initialize from + * + * @param in the input to initialize from * @param len how many bytes to read from in * @throws IOException if something bad happens */ @@ -351,9 +358,11 @@ public int hashCode() { } // / STATIC UTILITIES FROM HERE DOWN + /** * Converts the provided byte array to a String using the UTF-8 encoding. If the input is malformed, replace by a * default value. + * * @param utf8 bytes to decode * @return the decoded string * @throws CharacterCodingException if this is not valid UTF-8 @@ -371,9 +380,10 @@ public static String decode(byte[] utf8, int start, int length) * Converts the provided byte array to a String using the UTF-8 encoding. If replace is true, then * malformed input is replaced with the substitution character, which is U+FFFD. Otherwise the method throws a * MalformedInputException. - * @param utf8 the bytes to decode - * @param start where to start from - * @param length length of the bytes to decode + * + * @param utf8 the bytes to decode + * @param start where to start from + * @param length length of the bytes to decode * @param replace whether to replace malformed characters with U+FFFD * @return the decoded string * @throws CharacterCodingException if the input could not be decoded @@ -418,8 +428,7 @@ public static ByteBuffer encode(String string) * input is replaced with the substitution character, which is U+FFFD. Otherwise the method throws a * MalformedInputException. * - - * @param string the string to encode + * @param string the string to encode * @param replace whether to replace malformed characters with U+FFFD * @return ByteBuffer: bytes stores at ByteBuffer.array() and length is ByteBuffer.limit() * @throws CharacterCodingException if the string could not be encoded @@ -453,10 +462,8 @@ public static ByteBuffer encode(String string, boolean replace) /** * Check if a byte array contains valid utf-8 * - * @param utf8 - * byte array - * @throws MalformedInputException - * if the byte array contains invalid utf-8 + * @param utf8 byte array + * @throws MalformedInputException if the byte array contains invalid utf-8 */ public static void validateUTF8(byte[] utf8) throws MalformedInputException { validateUTF8(utf8, 0, utf8.length); @@ -465,14 +472,10 @@ public static void validateUTF8(byte[] utf8) throws MalformedInputException { /** * Check to see if a byte array is valid utf-8 * - * @param utf8 - * the array of bytes - * @param start - * the offset of the first byte in the array - * @param len - * the length of the byte sequence - * @throws MalformedInputException - * if the byte array contains invalid bytes + * @param utf8 the array of bytes + * @param start the offset of the first byte in the array + * @param len the length of the byte sequence + * @throws MalformedInputException if the byte array contains invalid bytes */ public static void validateUTF8(byte[] utf8, int start, int len) throws MalformedInputException { @@ -484,67 +487,67 @@ public static void validateUTF8(byte[] utf8, int start, int len) int aByte = utf8[count] & 0xFF; switch (state) { - case LEAD_BYTE: - leadByte = aByte; - length = bytesFromUTF8[aByte]; + case LEAD_BYTE: + leadByte = aByte; + length = bytesFromUTF8[aByte]; + + switch (length) { + case 0: // check for ASCII + if (leadByte > 0x7F) { + throw new MalformedInputException(count); + } + break; + case 1: + if (leadByte < 0xC2 || leadByte > 0xDF) { + throw new MalformedInputException(count); + } + state = TRAIL_BYTE_1; + break; + case 2: + if (leadByte < 0xE0 || leadByte > 0xEF) { + throw new MalformedInputException(count); + } + state = TRAIL_BYTE_1; + break; + case 3: + if (leadByte < 0xF0 || leadByte > 0xF4) { + throw new MalformedInputException(count); + } + state = TRAIL_BYTE_1; + break; + default: + // too long! Longest valid UTF-8 is 4 bytes (lead + three) + // or if < 0 we got a trail byte in the lead byte position + throw new MalformedInputException(count); + } // switch (length) + break; - switch (length) { - case 0: // check for ASCII - if (leadByte > 0x7F) { + case TRAIL_BYTE_1: + if (leadByte == 0xF0 && aByte < 0x90) { throw new MalformedInputException(count); } - break; - case 1: - if (leadByte < 0xC2 || leadByte > 0xDF) { + if (leadByte == 0xF4 && aByte > 0x8F) { throw new MalformedInputException(count); } - state = TRAIL_BYTE_1; - break; - case 2: - if (leadByte < 0xE0 || leadByte > 0xEF) { + if (leadByte == 0xE0 && aByte < 0xA0) { throw new MalformedInputException(count); } - state = TRAIL_BYTE_1; - break; - case 3: - if (leadByte < 0xF0 || leadByte > 0xF4) { + if (leadByte == 0xED && aByte > 0x9F) { + throw new MalformedInputException(count); + } + // falls through to regular trail-byte test!! + case TRAIL_BYTE: + if (aByte < 0x80 || aByte > 0xBF) { throw new MalformedInputException(count); } - state = TRAIL_BYTE_1; + if (--length == 0) { + state = LEAD_BYTE; + } else { + state = TRAIL_BYTE; + } break; default: - // too long! Longest valid UTF-8 is 4 bytes (lead + three) - // or if < 0 we got a trail byte in the lead byte position - throw new MalformedInputException(count); - } // switch (length) - break; - - case TRAIL_BYTE_1: - if (leadByte == 0xF0 && aByte < 0x90) { - throw new MalformedInputException(count); - } - if (leadByte == 0xF4 && aByte > 0x8F) { - throw new MalformedInputException(count); - } - if (leadByte == 0xE0 && aByte < 0xA0) { - throw new MalformedInputException(count); - } - if (leadByte == 0xED && aByte > 0x9F) { - throw new MalformedInputException(count); - } - // falls through to regular trail-byte test!! - case TRAIL_BYTE: - if (aByte < 0x80 || aByte > 0xBF) { - throw new MalformedInputException(count); - } - if (--length == 0) { - state = LEAD_BYTE; - } else { - state = TRAIL_BYTE; - } - break; - default: - break; + break; } // switch (state) count++; } @@ -556,25 +559,26 @@ public static void validateUTF8(byte[] utf8, int start, int len) * six byte sequences. */ static final int[] bytesFromUTF8 = - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - // trail bytes - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5 }; + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, + // trail bytes + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, + 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5}; /** * Returns the next code point at the current position in the buffer. The buffer's position will be incremented. Any * mark set on this buffer will be changed by this method! + * * @param bytes the incoming bytes * @return the corresponding unicode codepoint */ @@ -583,30 +587,29 @@ public static int bytesToCodePoint(ByteBuffer bytes) { byte b = bytes.get(); bytes.reset(); int extraBytesToRead = bytesFromUTF8[(b & 0xFF)]; - if (extraBytesToRead < 0) - { + if (extraBytesToRead < 0) { return -1; // trailing byte! } int ch = 0; switch (extraBytesToRead) { - case 5: - ch += (bytes.get() & 0xFF); - ch <<= 6; /* remember, illegal UTF-8 */ - case 4: - ch += (bytes.get() & 0xFF); - ch <<= 6; /* remember, illegal UTF-8 */ - case 3: - ch += (bytes.get() & 0xFF); - ch <<= 6; - case 2: - ch += (bytes.get() & 0xFF); - ch <<= 6; - case 1: - ch += (bytes.get() & 0xFF); - ch <<= 6; - case 0: - ch += (bytes.get() & 0xFF); + case 5: + ch += (bytes.get() & 0xFF); + ch <<= 6; /* remember, illegal UTF-8 */ + case 4: + ch += (bytes.get() & 0xFF); + ch <<= 6; /* remember, illegal UTF-8 */ + case 3: + ch += (bytes.get() & 0xFF); + ch <<= 6; + case 2: + ch += (bytes.get() & 0xFF); + ch <<= 6; + case 1: + ch += (bytes.get() & 0xFF); + ch <<= 6; + case 0: + ch += (bytes.get() & 0xFF); } ch -= offsetsFromUTF8[extraBytesToRead]; @@ -614,14 +617,13 @@ public static int bytesToCodePoint(ByteBuffer bytes) { } static final int offsetsFromUTF8[] = - { 0x00000000, 0x00003080, - 0x000E2080, 0x03C82080, 0xFA082080, 0x82082080 }; + {0x00000000, 0x00003080, + 0x000E2080, 0x03C82080, 0xFA082080, 0x82082080}; /** * For the given string, returns the number of UTF-8 bytes required to encode the string. * - * @param string - * text to encode + * @param string text to encode * @return number of UTF-8 bytes required to encode */ public static int utf8Length(String string) { diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/TransferPair.java b/java/vector/src/main/java/org/apache/arrow/vector/util/TransferPair.java index 6e68d552262..314ffdcb663 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/TransferPair.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/TransferPair.java @@ -15,13 +15,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; import org.apache.arrow.vector.ValueVector; public interface TransferPair { public void transfer(); + public void splitAndTransfer(int startIndex, int length); + public ValueVector getTo(); + public void copyValueSafe(int from, int to); } diff --git a/java/vector/src/main/java/org/apache/arrow/vector/util/Validator.java b/java/vector/src/main/java/org/apache/arrow/vector/util/Validator.java index b70a63fe7dd..5851bd5fa5d 100644 --- a/java/vector/src/main/java/org/apache/arrow/vector/util/Validator.java +++ b/java/vector/src/main/java/org/apache/arrow/vector/util/Validator.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.util; import java.util.Arrays; @@ -68,7 +69,7 @@ public static void compareDictionaries(List encodings1, List Dictionary dict2 = provider2.lookup(id); if (dict1 == null || dict2 == null) { - throw new IllegalArgumentException("The DictionaryProvider did not contain the required dictionary with id: " + id +"\n" + dict1 + "\n" + dict2); + throw new IllegalArgumentException("The DictionaryProvider did not contain the required dictionary with id: " + id + "\n" + dict1 + "\n" + dict2); } try { @@ -132,9 +133,9 @@ static boolean equals(ArrowType type, final Object o1, final Object o2) { ArrowType.FloatingPoint fpType = (ArrowType.FloatingPoint) type; switch (fpType.getPrecision()) { case DOUBLE: - return equalEnough((Double)o1, (Double)o2); + return equalEnough((Double) o1, (Double) o2); case SINGLE: - return equalEnough((Float)o1, (Float)o2); + return equalEnough((Float) o1, (Float) o2); case HALF: default: throw new UnsupportedOperationException("unsupported precision: " + fpType); diff --git a/java/vector/src/main/java/org/joda/time/LocalDateTimes.java b/java/vector/src/main/java/org/joda/time/LocalDateTimes.java index e4f999e1d82..a1c18fe9a5f 100644 --- a/java/vector/src/main/java/org/joda/time/LocalDateTimes.java +++ b/java/vector/src/main/java/org/joda/time/LocalDateTimes.java @@ -15,11 +15,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.joda.time; /** * Workaround to access package protected fields in JODA - * */ public class LocalDateTimes { diff --git a/java/vector/src/test/java/org/apache/arrow/vector/DirtyRootAllocator.java b/java/vector/src/test/java/org/apache/arrow/vector/DirtyRootAllocator.java index f775f1d2d67..febd59fba74 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/DirtyRootAllocator.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/DirtyRootAllocator.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import org.apache.arrow.memory.BufferManager; diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestBitVector.java b/java/vector/src/test/java/org/apache/arrow/vector/TestBitVector.java index 194b78585fa..495bed389e5 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestBitVector.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestBitVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static org.junit.Assert.assertEquals; @@ -75,11 +76,10 @@ public void testSplitAndTransfer() throws Exception { sourceVector.allocateNew(40); /* populate the bitvector -- 010101010101010101010101..... */ - for(int i = 0; i < 40; i++) { - if((i & 1) == 1) { + for (int i = 0; i < 40; i++) { + if ((i & 1) == 1) { sourceMutator.set(i, 1); - } - else { + } else { sourceMutator.set(i, 0); } } @@ -87,18 +87,17 @@ public void testSplitAndTransfer() throws Exception { sourceMutator.setValueCount(40); /* check the vector output */ - for(int i = 0; i < 40; i++) { + for (int i = 0; i < 40; i++) { int result = sourceAccessor.get(i); - if((i & 1) == 1) { + if ((i & 1) == 1) { assertEquals(Integer.toString(1), Integer.toString(result)); - } - else { + } else { assertEquals(Integer.toString(0), Integer.toString(result)); } } final TransferPair transferPair = sourceVector.getTransferPair(allocator); - final BitVector toVector = (BitVector)transferPair.getTo(); + final BitVector toVector = (BitVector) transferPair.getTo(); final BitVector.Accessor toAccessor = toVector.getAccessor(); final BitVector.Mutator toMutator = toVector.getMutator(); @@ -110,13 +109,13 @@ public void testSplitAndTransfer() throws Exception { * (2.1) the length is a multiple of 8 * (2.2) the length is not a multiple of 8 */ - final int[][] transferLengths = { {0, 8}, /* (1) */ - {8, 10}, /* (1) */ - {18, 0}, /* zero length scenario */ - {18, 8}, /* (2.1) */ - {26, 0}, /* zero length scenario */ - {26, 14} /* (2.2) */ - }; + final int[][] transferLengths = {{0, 8}, /* (1) */ + {8, 10}, /* (1) */ + {18, 0}, /* zero length scenario */ + {18, 8}, /* (2.1) */ + {26, 0}, /* zero length scenario */ + {26, 14} /* (2.2) */ + }; for (final int[] transferLength : transferLengths) { final int start = transferLength[0]; @@ -127,10 +126,9 @@ public void testSplitAndTransfer() throws Exception { /* check the toVector output after doing splitAndTransfer */ for (int i = 0; i < length; i++) { int result = toAccessor.get(i); - if((i & 1) == 1) { + if ((i & 1) == 1) { assertEquals(Integer.toString(1), Integer.toString(result)); - } - else { + } else { assertEquals(Integer.toString(0), Integer.toString(result)); } } diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestBufferOwnershipTransfer.java b/java/vector/src/test/java/org/apache/arrow/vector/TestBufferOwnershipTransfer.java index 08e3700daee..54fc3067170 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestBufferOwnershipTransfer.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestBufferOwnershipTransfer.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static org.junit.Assert.assertEquals; @@ -65,7 +66,7 @@ public void testTransferVariableidth() { v1.makeTransferPair(v2).transfer(); assertEquals(0, childAllocator1.getAllocatedMemory()); - int expected = 8*4096 + 4*4096 + 4096; + int expected = 8 * 4096 + 4 * 4096 + 4096; assertEquals(expected, childAllocator2.getAllocatedMemory()); } @@ -90,11 +91,11 @@ public void emptyListTransferShouldNotTriggerSchemaChange() { final Pointer trigger1 = new Pointer<>(); final Pointer trigger2 = new Pointer<>(); final ListVector v1 = new ListVector("v1", allocator, - FieldType.nullable(ArrowType.Null.INSTANCE), - newTriggerCallback(trigger1)); + FieldType.nullable(ArrowType.Null.INSTANCE), + newTriggerCallback(trigger1)); final ListVector v2 = new ListVector("v2", allocator, - FieldType.nullable(ArrowType.Null.INSTANCE), - newTriggerCallback(trigger2)); + FieldType.nullable(ArrowType.Null.INSTANCE), + newTriggerCallback(trigger2)); v1.makeTransferPair(v2).transfer(); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestDecimalVector.java b/java/vector/src/test/java/org/apache/arrow/vector/TestDecimalVector.java index b98c24d1895..774fbe084f1 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestDecimalVector.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestDecimalVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static org.junit.Assert.assertEquals; @@ -39,6 +40,7 @@ public class TestDecimalVector { intValues[2 * i] = -1 * (1 << i + 1); } } + private int scale = 3; @Test diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestDictionaryVector.java b/java/vector/src/test/java/org/apache/arrow/vector/TestDictionaryVector.java index 3bf3b1cedff..f2db9baac04 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestDictionaryVector.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestDictionaryVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static org.apache.arrow.vector.TestUtils.newNullableVarCharVector; @@ -35,8 +36,8 @@ public class TestDictionaryVector { private BufferAllocator allocator; byte[] zero = "foo".getBytes(StandardCharsets.UTF_8); - byte[] one = "bar".getBytes(StandardCharsets.UTF_8); - byte[] two = "baz".getBytes(StandardCharsets.UTF_8); + byte[] one = "bar".getBytes(StandardCharsets.UTF_8); + byte[] two = "baz".getBytes(StandardCharsets.UTF_8); @Before public void init() { @@ -74,7 +75,7 @@ public void testEncodeStrings() { Dictionary dictionary = new Dictionary(dictionaryVector, new DictionaryEncoding(1L, false, null)); - try(final ValueVector encoded = (FieldVector) DictionaryEncoder.encode(vector, dictionary)) { + try (final ValueVector encoded = (FieldVector) DictionaryEncoder.encode(vector, dictionary)) { // verify indices assertEquals(NullableIntVector.class, encoded.getClass()); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestFixedSizeListVector.java b/java/vector/src/test/java/org/apache/arrow/vector/TestFixedSizeListVector.java index 304db9dcc00..5677f256679 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestFixedSizeListVector.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestFixedSizeListVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import com.google.common.collect.Lists; diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestListVector.java b/java/vector/src/test/java/org/apache/arrow/vector/TestListVector.java index eb30fdd46bf..fdb576ef75c 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestListVector.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestListVector.java @@ -15,12 +15,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertFalse; import org.apache.arrow.memory.BufferAllocator; import org.apache.arrow.vector.complex.ListVector; @@ -100,11 +101,11 @@ public void testCopyFrom() throws Exception { /* index 0 */ Object result = accessor.getObject(0); - ArrayList resultSet = (ArrayList)result; + ArrayList resultSet = (ArrayList) result; assertEquals(3, resultSet.size()); - assertEquals(new Long(1), (Long)resultSet.get(0)); - assertEquals(new Long(2), (Long)resultSet.get(1)); - assertEquals(new Long(3), (Long)resultSet.get(2)); + assertEquals(new Long(1), (Long) resultSet.get(0)); + assertEquals(new Long(2), (Long) resultSet.get(1)); + assertEquals(new Long(3), (Long) resultSet.get(2)); /* index 1 */ result = accessor.getObject(1); @@ -112,7 +113,7 @@ public void testCopyFrom() throws Exception { /* index 2 */ result = accessor.getObject(2); - resultSet = (ArrayList)result; + resultSet = (ArrayList) result; assertEquals(0, resultSet.size()); } } @@ -130,11 +131,11 @@ public void testSetLastSetUsage() throws Exception { /* get inner vectors; bitVector and offsetVector */ List innerVectors = listVector.getFieldInnerVectors(); - BitVector bitVector = (BitVector)innerVectors.get(0); - UInt4Vector offsetVector = (UInt4Vector)innerVectors.get(1); + BitVector bitVector = (BitVector) innerVectors.get(0); + UInt4Vector offsetVector = (UInt4Vector) innerVectors.get(1); /* get the underlying data vector -- NullableBigIntVector */ - NullableBigIntVector dataVector = (NullableBigIntVector)listVector.getDataVector(); + NullableBigIntVector dataVector = (NullableBigIntVector) listVector.getDataVector(); /* check current lastSet */ assertEquals(Integer.toString(0), Integer.toString(listVector.getMutator().getLastSet())); @@ -220,36 +221,36 @@ public void testSetLastSetUsage() throws Exception { assertEquals(Integer.toString(0), Integer.toString(offset)); Object actual = valueAccessor.getObject(offset); - assertEquals(new Long(10), (Long)actual); + assertEquals(new Long(10), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(11), (Long)actual); + assertEquals(new Long(11), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(12), (Long)actual); + assertEquals(new Long(12), (Long) actual); index++; offset = offsetAccessor.get(index); assertEquals(Integer.toString(3), Integer.toString(offset)); actual = valueAccessor.getObject(offset); - assertEquals(new Long(13), (Long)actual); + assertEquals(new Long(13), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(14), (Long)actual); + assertEquals(new Long(14), (Long) actual); index++; offset = offsetAccessor.get(index); assertEquals(Integer.toString(5), Integer.toString(offset)); actual = valueAccessor.getObject(offsetAccessor.get(index)); - assertEquals(new Long(15), (Long)actual); + assertEquals(new Long(15), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(16), (Long)actual); + assertEquals(new Long(16), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(17), (Long)actual); + assertEquals(new Long(17), (Long) actual); index++; offset = offsetAccessor.get(index); @@ -313,10 +314,10 @@ public void testSplitAndTransfer() throws Exception { assertEquals(5, listVector.getMutator().getLastSet()); /* get offsetVector */ - UInt4Vector offsetVector = (UInt4Vector)listVector.getOffsetVector(); + UInt4Vector offsetVector = (UInt4Vector) listVector.getOffsetVector(); /* get dataVector */ - NullableBigIntVector dataVector = (NullableBigIntVector)listVector.getDataVector(); + NullableBigIntVector dataVector = (NullableBigIntVector) listVector.getDataVector(); /* check the vector output */ final UInt4Vector.Accessor offsetAccessor = offsetVector.getAccessor(); @@ -332,13 +333,13 @@ public void testSplitAndTransfer() throws Exception { assertEquals(Integer.toString(0), Integer.toString(offset)); actual = valueAccessor.getObject(offset); - assertEquals(new Long(10), (Long)actual); + assertEquals(new Long(10), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(11), (Long)actual); + assertEquals(new Long(11), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(12), (Long)actual); + assertEquals(new Long(12), (Long) actual); /* index 1 */ index++; @@ -347,10 +348,10 @@ public void testSplitAndTransfer() throws Exception { assertEquals(Integer.toString(3), Integer.toString(offset)); actual = valueAccessor.getObject(offset); - assertEquals(new Long(13), (Long)actual); + assertEquals(new Long(13), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(14), (Long)actual); + assertEquals(new Long(14), (Long) actual); /* index 2 */ index++; @@ -359,16 +360,16 @@ public void testSplitAndTransfer() throws Exception { assertEquals(Integer.toString(5), Integer.toString(offset)); actual = valueAccessor.getObject(offset); - assertEquals(new Long(15), (Long)actual); + assertEquals(new Long(15), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(16), (Long)actual); + assertEquals(new Long(16), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(17), (Long)actual); + assertEquals(new Long(17), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(18), (Long)actual); + assertEquals(new Long(18), (Long) actual); /* index 3 */ index++; @@ -377,7 +378,7 @@ public void testSplitAndTransfer() throws Exception { assertEquals(Integer.toString(9), Integer.toString(offset)); actual = valueAccessor.getObject(offset); - assertEquals(new Long(19), (Long)actual); + assertEquals(new Long(19), (Long) actual); /* index 4 */ index++; @@ -386,16 +387,16 @@ public void testSplitAndTransfer() throws Exception { assertEquals(Integer.toString(10), Integer.toString(offset)); actual = valueAccessor.getObject(offset); - assertEquals(new Long(20), (Long)actual); + assertEquals(new Long(20), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(21), (Long)actual); + assertEquals(new Long(21), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(22), (Long)actual); + assertEquals(new Long(22), (Long) actual); offset++; actual = valueAccessor.getObject(offset); - assertEquals(new Long(23), (Long)actual); + assertEquals(new Long(23), (Long) actual); /* index 5 */ index++; @@ -423,26 +424,26 @@ public void testSplitAndTransfer() throws Exception { transferPair.splitAndTransfer(start, splitLength); /* get offsetVector of toVector */ - UInt4Vector offsetVector1 = (UInt4Vector)toVector.getOffsetVector(); + UInt4Vector offsetVector1 = (UInt4Vector) toVector.getOffsetVector(); UInt4Vector.Accessor offsetAccessor1 = offsetVector1.getAccessor(); /* get dataVector of toVector */ - NullableBigIntVector dataVector1 = (NullableBigIntVector)toVector.getDataVector(); + NullableBigIntVector dataVector1 = (NullableBigIntVector) toVector.getDataVector(); NullableBigIntVector.Accessor valueAccessor1 = dataVector1.getAccessor(); - for(int i = 0; i < splitLength; i++) { + for (int i = 0; i < splitLength; i++) { dataLength1 = offsetAccessor.get(start + i + 1) - offsetAccessor.get(start + i); dataLength2 = offsetAccessor1.get(i + 1) - offsetAccessor1.get(i); assertEquals("Different data lengths at index: " + i + " and start: " + start, - dataLength1, dataLength2); + dataLength1, dataLength2); offset1 = offsetAccessor.get(start + i); offset2 = offsetAccessor1.get(i); - for(int j = 0; j < dataLength1; j++) { + for (int j = 0; j < dataLength1; j++) { assertEquals("Different data at indexes: " + offset1 + " and " + offset2, - valueAccessor.getObject(offset1), valueAccessor1.getObject(offset2)); + valueAccessor.getObject(offset1), valueAccessor1.getObject(offset2)); offset1++; offset2++; @@ -515,7 +516,7 @@ public void testNestedListVector() throws Exception { /* get listVector value at index 0 -- the value itself is a listvector */ Object result = accessor.getObject(0); - ArrayList> resultSet = (ArrayList>)result; + ArrayList> resultSet = (ArrayList>) result; ArrayList list; assertEquals(2, resultSet.size()); /* 2 inner lists at index 0 */ @@ -535,7 +536,7 @@ public void testNestedListVector() throws Exception { /* get listVector value at index 1 -- the value itself is a listvector */ result = accessor.getObject(1); - resultSet = (ArrayList>)result; + resultSet = (ArrayList>) result; assertEquals(3, resultSet.size()); /* 3 inner lists at index 1 */ assertEquals(1, resultSet.get(0).size()); /* size of first inner list */ diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestOversizedAllocationForValueVector.java b/java/vector/src/test/java/org/apache/arrow/vector/TestOversizedAllocationForValueVector.java index 9baebc5a299..ba2ebbf05ad 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestOversizedAllocationForValueVector.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestOversizedAllocationForValueVector.java @@ -90,7 +90,7 @@ public void testBitVectorReallocation() { // common: value count < MAX_VALUE_ALLOCATION try { vector.allocateNew(expectedValueCapacity); - for (int i=0; i<3;i++) { + for (int i = 0; i < 3; i++) { vector.reAlloc(); // expand buffer size } assertEquals(Integer.MAX_VALUE, vector.getValueCapacity()); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestUnionVector.java b/java/vector/src/test/java/org/apache/arrow/vector/TestUnionVector.java index a5159242d76..a75b196fbcc 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestUnionVector.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestUnionVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static org.junit.Assert.assertEquals; @@ -98,7 +99,7 @@ public void testTransfer() throws Exception { mutator.setSafe(5, newBitHolder(false)); mutator.setValueCount(6); - try(UnionVector destVector = new UnionVector(EMPTY_SCHEMA_PATH, allocator, null)) { + try (UnionVector destVector = new UnionVector(EMPTY_SCHEMA_PATH, allocator, null)) { TransferPair pair = srcVector.makeTransferPair(destVector); // Creating the transfer should transfer the type of the field at least. @@ -111,7 +112,7 @@ public void testTransfer() throws Exception { // now check the values are transferred assertEquals(srcVector.getAccessor().getValueCount(), destVector.getAccessor().getValueCount()); - for(int i=0; i T newVector(Class c, String name, ArrowType type, BufferAllocator allocator) { diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestValueVector.java b/java/vector/src/test/java/org/apache/arrow/vector/TestValueVector.java index 0f41c2dd790..b7852b3e967 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestValueVector.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestValueVector.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static org.apache.arrow.vector.TestUtils.newNullableVarCharVector; @@ -394,7 +395,7 @@ public void testBitVectorRangeSetAllOnes() { } private void validateRange(int length, int start, int count) { - String desc = "[" + start + ", " + (start + count) + ") "; + String desc = "[" + start + ", " + (start + count) + ") "; try (BitVector bitVector = new BitVector("bits", allocator)) { bitVector.reset(); bitVector.allocateNew(length); @@ -489,7 +490,7 @@ public void testFillEmptiesNotOverfill() { @Test public void testCopyFromWithNulls() { try (final NullableVarCharVector vector = newVector(NullableVarCharVector.class, EMPTY_SCHEMA_PATH, MinorType.VARCHAR, allocator); - final NullableVarCharVector vector2 = newVector(NullableVarCharVector.class, EMPTY_SCHEMA_PATH, MinorType.VARCHAR, allocator)) { + final NullableVarCharVector vector2 = newVector(NullableVarCharVector.class, EMPTY_SCHEMA_PATH, MinorType.VARCHAR, allocator)) { vector.allocateNew(); for (int i = 0; i < 4095; i++) { @@ -608,15 +609,15 @@ public void testVectorLoadUnload() { VectorUnloader vectorUnloader = new VectorUnloader(schemaRoot1); try ( - ArrowRecordBatch recordBatch = vectorUnloader.getRecordBatch(); - BufferAllocator finalVectorsAllocator = allocator.newChildAllocator("new vector", 0, Long.MAX_VALUE); - VectorSchemaRoot schemaRoot2 = VectorSchemaRoot.create(schema, finalVectorsAllocator); + ArrowRecordBatch recordBatch = vectorUnloader.getRecordBatch(); + BufferAllocator finalVectorsAllocator = allocator.newChildAllocator("new vector", 0, Long.MAX_VALUE); + VectorSchemaRoot schemaRoot2 = VectorSchemaRoot.create(schema, finalVectorsAllocator); ) { VectorLoader vectorLoader = new VectorLoader(schemaRoot2); vectorLoader.load(recordBatch); - NullableVarCharVector vector2 = (NullableVarCharVector)schemaRoot2.getVector(fieldName); + NullableVarCharVector vector2 = (NullableVarCharVector) schemaRoot2.getVector(fieldName); NullableVarCharVector.Mutator mutator2 = vector2.getMutator(); /* diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestVectorReAlloc.java b/java/vector/src/test/java/org/apache/arrow/vector/TestVectorReAlloc.java index a5d55275393..4ac7536c017 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestVectorReAlloc.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestVectorReAlloc.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static org.junit.Assert.assertEquals; diff --git a/java/vector/src/test/java/org/apache/arrow/vector/TestVectorUnloadLoad.java b/java/vector/src/test/java/org/apache/arrow/vector/TestVectorUnloadLoad.java index f3694659a8f..7facf73f511 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/TestVectorUnloadLoad.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/TestVectorUnloadLoad.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector; import static java.util.Arrays.asList; @@ -176,8 +177,9 @@ public void testUnloadLoadAddPadding() throws IOException { /** * The validity buffer can be empty if: - * - all values are defined - * - all values are null + * - all values are defined + * - all values are null + * * @throws IOException */ @Test @@ -185,7 +187,7 @@ public void testLoadEmptyValidityBuffer() throws IOException { Schema schema = new Schema(asList( new Field("intDefined", FieldType.nullable(new ArrowType.Int(32, true)), Collections.emptyList()), new Field("intNull", FieldType.nullable(new ArrowType.Int(32, true)), Collections.emptyList()) - )); + )); int count = 10; ArrowBuf validity = allocator.buffer(10).slice(0, 0); ArrowBuf[] values = new ArrowBuf[2]; @@ -208,8 +210,8 @@ public void testLoadEmptyValidityBuffer() throws IOException { vectorLoader.load(recordBatch); - NullableIntVector intDefinedVector = (NullableIntVector)newRoot.getVector("intDefined"); - NullableIntVector intNullVector = (NullableIntVector)newRoot.getVector("intNull"); + NullableIntVector intDefinedVector = (NullableIntVector) newRoot.getVector("intDefined"); + NullableIntVector intNullVector = (NullableIntVector) newRoot.getVector("intNull"); for (int i = 0; i < count; i++) { assertFalse("#" + i, intDefinedVector.getAccessor().isNull(i)); assertEquals("#" + i, i, intDefinedVector.getAccessor().get(i)); @@ -244,20 +246,20 @@ public void testLoadEmptyValidityBuffer() throws IOException { public void testUnloadLoadDuplicates() throws IOException { int count = 10; Schema schema = new Schema(asList( - new Field("duplicate", FieldType.nullable(new ArrowType.Int(32, true)), Collections.emptyList()), - new Field("duplicate", FieldType.nullable(new ArrowType.Int(32, true)), Collections.emptyList()) + new Field("duplicate", FieldType.nullable(new ArrowType.Int(32, true)), Collections.emptyList()), + new Field("duplicate", FieldType.nullable(new ArrowType.Int(32, true)), Collections.emptyList()) )); try ( - BufferAllocator originalVectorsAllocator = allocator.newChildAllocator("original vectors", 0, Integer.MAX_VALUE); + BufferAllocator originalVectorsAllocator = allocator.newChildAllocator("original vectors", 0, Integer.MAX_VALUE); ) { List sources = new ArrayList<>(); - for (Field field: schema.getFields()) { + for (Field field : schema.getFields()) { FieldVector vector = field.createVector(originalVectorsAllocator); vector.allocateNew(); sources.add(vector); NullableIntVector.Mutator mutator = (NullableIntVector.Mutator) vector.getMutator(); - for (int i = 0; i < count; i++) { + for (int i = 0; i < count; i++) { mutator.set(i, i); } mutator.setValueCount(count); @@ -266,8 +268,8 @@ public void testUnloadLoadDuplicates() throws IOException { try (VectorSchemaRoot root = new VectorSchemaRoot(schema.getFields(), sources, count)) { VectorUnloader vectorUnloader = new VectorUnloader(root); try (ArrowRecordBatch recordBatch = vectorUnloader.getRecordBatch(); - BufferAllocator finalVectorsAllocator = allocator.newChildAllocator("final vectors", 0, Integer.MAX_VALUE); - VectorSchemaRoot newRoot = VectorSchemaRoot.create(schema, finalVectorsAllocator);) { + BufferAllocator finalVectorsAllocator = allocator.newChildAllocator("final vectors", 0, Integer.MAX_VALUE); + VectorSchemaRoot newRoot = VectorSchemaRoot.create(schema, finalVectorsAllocator);) { // load it VectorLoader vectorLoader = new VectorLoader(newRoot); vectorLoader.load(recordBatch); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/complex/impl/TestPromotableWriter.java b/java/vector/src/test/java/org/apache/arrow/vector/complex/impl/TestPromotableWriter.java index e826fa53b09..97efb7d5a6d 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/complex/impl/TestPromotableWriter.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/complex/impl/TestPromotableWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.impl; import static org.junit.Assert.assertEquals; @@ -67,7 +68,7 @@ public void testPromoteToUnion() throws Exception { writer.setPosition(1); writer.bit("A").writeBit(1); - writer.decimal("dec", 10,10); + writer.decimal("dec", 10, 10); writer.setPosition(2); writer.integer("A").writeInt(10); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java b/java/vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java index 5a9c80dc124..f81cd557a9d 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/complex/writer/TestComplexWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.complex.writer; import static org.junit.Assert.*; @@ -217,7 +218,7 @@ public void listScalarType() { for (int i = 0; i < COUNT; i++) { listWriter.startList(); for (int j = 0; j < i % 7; j++) { - if (j%2 == 0) { + if (j % 2 == 0) { listWriter.writeInt(j); } else { IntHolder holder = new IntHolder(); @@ -259,7 +260,7 @@ public void listScalarTypeNullable() { listReader.setPosition(i); if (i % 2 == 0) { assertTrue("index is set: " + i, listReader.isSet()); - assertEquals("correct length at: " + i, i % 7, ((List)listReader.readObject()).size()); + assertEquals("correct length at: " + i, i % 7, ((List) listReader.readObject()).size()); } else { assertFalse("index is not set: " + i, listReader.isSet()); assertNull("index is not set: " + i, listReader.readObject()); @@ -529,10 +530,10 @@ public void promotableWriterSchema() { private Set getFieldNames(List fields) { Set fieldNames = new HashSet<>(); - for (Field field: fields) { + for (Field field : fields) { fieldNames.add(field.getName()); if (!field.getChildren().isEmpty()) { - for (String name: getFieldNames(field.getChildren())) { + for (String name : getFieldNames(field.getChildren())) { fieldNames.add(field.getName() + "::" + name); } } @@ -698,7 +699,7 @@ private void checkTimestampField(Field field, String name) { private void checkTimestampTZField(Field field, String name, String tz) { checkTimestampField(field, name); - Assert.assertEquals(tz, ((Timestamp)field.getType()).getTimezone()); + Assert.assertEquals(tz, ((Timestamp) field.getType()).getTimezone()); } @Test @@ -824,13 +825,13 @@ public void complexCopierWithList() { TransferPair tp = mapVector.getTransferPair(allocator); tp.splitAndTransfer(0, 1); MapVector toMapVector = (MapVector) tp.getTo(); - JsonStringHashMap toMapValue = (JsonStringHashMap) toMapVector.getAccessor().getObject(0); + JsonStringHashMap toMapValue = (JsonStringHashMap) toMapVector.getAccessor().getObject(0); JsonStringArrayList object = (JsonStringArrayList) toMapValue.get("list"); assertEquals(1, object.get(0)); assertEquals(2, object.get(1)); - JsonStringHashMap innerMap = (JsonStringHashMap) object.get(2); + JsonStringHashMap innerMap = (JsonStringHashMap) object.get(2); assertEquals(1, innerMap.get("a")); - innerMap = (JsonStringHashMap) object.get(3); + innerMap = (JsonStringHashMap) object.get(3); assertEquals(2, innerMap.get("a")); } } diff --git a/java/vector/src/test/java/org/apache/arrow/vector/file/BaseFileTest.java b/java/vector/src/test/java/org/apache/arrow/vector/file/BaseFileTest.java index 3f717cbc18b..732bd98b7c6 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/file/BaseFileTest.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/file/BaseFileTest.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.nio.charset.StandardCharsets; @@ -155,7 +156,7 @@ protected void validateComplexContent(int count, VectorSchemaRoot root) { Assert.assertNull(intVal); } Assert.assertEquals(Long.valueOf(i), root.getVector("bigInt").getAccessor().getObject(i)); - Assert.assertEquals(i % 3, ((List)root.getVector("list").getAccessor().getObject(i)).size()); + Assert.assertEquals(i % 3, ((List) root.getVector("list").getAccessor().getObject(i)).size()); NullableTimeStampMilliHolder h = new NullableTimeStampMilliHolder(); FieldReader mapReader = root.getVector("map").getReader(); mapReader.setPosition(i); @@ -198,11 +199,11 @@ protected void validateDateTimeContent(int count, VectorSchemaRoot root) { Assert.assertEquals(count, root.getRowCount()); printVectors(root.getFieldVectors()); for (int i = 0; i < count; i++) { - long dateVal = ((NullableDateMilliVector)root.getVector("date")).getAccessor().get(i); + long dateVal = ((NullableDateMilliVector) root.getVector("date")).getAccessor().get(i); LocalDateTime dt = makeDateTimeFromCount(i); LocalDateTime dateExpected = dt.minusMillis(dt.getMillisOfDay()); Assert.assertEquals(DateUtility.toMillis(dateExpected), dateVal); - long timeVal = ((NullableTimeMilliVector)root.getVector("time")).getAccessor().get(i); + long timeVal = ((NullableTimeMilliVector) root.getVector("time")).getAccessor().get(i); Assert.assertEquals(dt.getMillisOfDay(), timeVal); Object timestampMilliVal = root.getVector("timestamp-milli").getAccessor().getObject(i); Assert.assertEquals(dt, timestampMilliVal); @@ -450,20 +451,20 @@ public void validateUnionData(int count, VectorSchemaRoot root) { for (int i = 0; i < count; i++) { unionReader.setPosition(i); switch (i % 4) { - case 0: - Assert.assertEquals(i, unionReader.readInteger().intValue()); - break; - case 1: - Assert.assertEquals(i, unionReader.readLong().longValue()); - break; - case 2: - Assert.assertEquals(i % 3, unionReader.size()); - break; - case 3: - NullableTimeStampMilliHolder h = new NullableTimeStampMilliHolder(); - unionReader.reader("timestamp").read(h); - Assert.assertEquals(i, h.value); - break; + case 0: + Assert.assertEquals(i, unionReader.readInteger().intValue()); + break; + case 1: + Assert.assertEquals(i, unionReader.readLong().longValue()); + break; + case 2: + Assert.assertEquals(i % 3, unionReader.size()); + break; + case 3: + NullableTimeStampMilliHolder h = new NullableTimeStampMilliHolder(); + unionReader.reader("timestamp").read(h); + Assert.assertEquals(i, h.value); + break; } } } @@ -483,28 +484,28 @@ public void writeUnionData(int count, NullableMapVector parent) { MapWriter mapWriter = rootWriter.map("union"); for (int i = 0; i < count; i++) { switch (i % 4) { - case 0: - intWriter.setPosition(i); - intWriter.writeInt(i); - break; - case 1: - bigIntWriter.setPosition(i); - bigIntWriter.writeBigInt(i); - break; - case 2: - listWriter.setPosition(i); - listWriter.startList(); - for (int j = 0; j < i % 3; j++) { - listWriter.varChar().writeVarChar(0, 3, varchar); - } - listWriter.endList(); - break; - case 3: - mapWriter.setPosition(i); - mapWriter.start(); - mapWriter.timeStampMilli("timestamp").writeTimeStampMilli(i); - mapWriter.end(); - break; + case 0: + intWriter.setPosition(i); + intWriter.writeInt(i); + break; + case 1: + bigIntWriter.setPosition(i); + bigIntWriter.writeBigInt(i); + break; + case 2: + listWriter.setPosition(i); + listWriter.startList(); + for (int j = 0; j < i % 3; j++) { + listWriter.varChar().writeVarChar(0, 3, varchar); + } + listWriter.endList(); + break; + case 3: + mapWriter.setPosition(i); + mapWriter.start(); + mapWriter.timeStampMilli("timestamp").writeTimeStampMilli(i); + mapWriter.end(); + break; } } writer.setValueCount(count); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowFile.java b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowFile.java index 90fb5d252d6..c483ba7de91 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowFile.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowFile.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import java.io.ByteArrayInputStream; @@ -107,19 +108,19 @@ public void testWriteRead() throws IOException { // read try (BufferAllocator readerAllocator = allocator.newChildAllocator("reader", 0, Integer.MAX_VALUE); FileInputStream fileInputStream = new FileInputStream(file); - ArrowFileReader arrowReader = new ArrowFileReader(fileInputStream.getChannel(), readerAllocator){ - @Override - protected ArrowMessage readMessage(SeekableReadChannel in, BufferAllocator allocator) throws IOException { - ArrowMessage message = super.readMessage(in, allocator); - if (message != null) { - ArrowRecordBatch batch = (ArrowRecordBatch) message; - List buffersLayout = batch.getBuffersLayout(); - for (ArrowBuffer arrowBuffer : buffersLayout) { - Assert.assertEquals(0, arrowBuffer.getOffset() % 8); - } - } - return message; - } + ArrowFileReader arrowReader = new ArrowFileReader(fileInputStream.getChannel(), readerAllocator) { + @Override + protected ArrowMessage readMessage(SeekableReadChannel in, BufferAllocator allocator) throws IOException { + ArrowMessage message = super.readMessage(in, allocator); + if (message != null) { + ArrowRecordBatch batch = (ArrowRecordBatch) message; + List buffersLayout = batch.getBuffersLayout(); + for (ArrowBuffer arrowBuffer : buffersLayout) { + Assert.assertEquals(0, arrowBuffer.getOffset() % 8); + } + } + return message; + } }) { Schema schema = arrowReader.getVectorSchemaRoot().getSchema(); LOGGER.debug("reading schema: " + schema); @@ -134,7 +135,7 @@ protected ArrowMessage readMessage(SeekableReadChannel in, BufferAllocator alloc // Read from stream. try (BufferAllocator readerAllocator = allocator.newChildAllocator("reader", 0, Integer.MAX_VALUE); ByteArrayInputStream input = new ByteArrayInputStream(stream.toByteArray()); - ArrowStreamReader arrowReader = new ArrowStreamReader(input, readerAllocator){ + ArrowStreamReader arrowReader = new ArrowStreamReader(input, readerAllocator) { @Override protected ArrowMessage readMessage(ReadChannel in, BufferAllocator allocator) throws IOException { ArrowMessage message = super.readMessage(in, allocator); @@ -203,17 +204,17 @@ public void testWriteReadComplex() throws IOException { public void testWriteReadMultipleRBs() throws IOException { File file = new File("target/mytest_multiple.arrow"); ByteArrayOutputStream stream = new ByteArrayOutputStream(); - int[] counts = { 10, 5 }; + int[] counts = {10, 5}; // write try (BufferAllocator originalVectorAllocator = allocator.newChildAllocator("original vectors", 0, Integer.MAX_VALUE); MapVector parent = MapVector.empty("parent", originalVectorAllocator); - FileOutputStream fileOutputStream = new FileOutputStream(file)){ + FileOutputStream fileOutputStream = new FileOutputStream(file)) { writeData(counts[0], parent); VectorSchemaRoot root = new VectorSchemaRoot(parent.getChild("root")); - try(ArrowFileWriter fileWriter = new ArrowFileWriter(root, null, fileOutputStream.getChannel()); - ArrowStreamWriter streamWriter = new ArrowStreamWriter(root, null, stream)) { + try (ArrowFileWriter fileWriter = new ArrowFileWriter(root, null, fileOutputStream.getChannel()); + ArrowStreamWriter streamWriter = new ArrowStreamWriter(root, null, stream)) { fileWriter.start(); streamWriter.start(); @@ -318,7 +319,7 @@ public void testWriteReadTiny() throws IOException { root.getFieldVectors().get(0).allocateNew(); NullableTinyIntVector.Mutator mutator = (NullableTinyIntVector.Mutator) root.getFieldVectors().get(0).getMutator(); for (int i = 0; i < 16; i++) { - mutator.set(i, i < 8 ? 1 : 0, (byte)(i + 1)); + mutator.set(i, i < 8 ? 1 : 0, (byte) (i + 1)); } mutator.setValueCount(16); root.setRowCount(16); @@ -367,7 +368,7 @@ private void validateTinyData(VectorSchemaRoot root) { NullableTinyIntVector vector = (NullableTinyIntVector) root.getFieldVectors().get(0); for (int i = 0; i < 16; i++) { if (i < 8) { - Assert.assertEquals((byte)(i + 1), vector.getAccessor().get(i)); + Assert.assertEquals((byte) (i + 1), vector.getAccessor().get(i)); } else { Assert.assertTrue(vector.getAccessor().isNull(i)); } @@ -384,7 +385,7 @@ public void testWriteReadMetadata() throws IOException { childFields.add(new Field("float-child", new FieldType(true, new ArrowType.FloatingPoint(FloatingPointPrecision.SINGLE), null, metadata(2)), null)); childFields.add(new Field("int-child", new FieldType(false, new ArrowType.Int(32, true), null, metadata(3)), null)); childFields.add(new Field("list-child", new FieldType(true, ArrowType.List.INSTANCE, null, metadata(4)), - ImmutableList.of(new Field("l1", FieldType.nullable(new ArrowType.Int(16 ,true)), null)))); + ImmutableList.of(new Field("l1", FieldType.nullable(new ArrowType.Int(16, true)), null)))); Field field = new Field("meta", new FieldType(true, ArrowType.Struct.INSTANCE, null, metadata(0)), childFields); Map metadata = new HashMap<>(); metadata.put("s1", "v1"); @@ -425,7 +426,7 @@ public void testWriteReadMetadata() throws IOException { Assert.assertEquals(originalSchema.getCustomMetadata(), schema.getCustomMetadata()); Field top = schema.getFields().get(0); Assert.assertEquals(metadata(0), top.getMetadata()); - for (int i = 0; i < 4; i ++) { + for (int i = 0; i < 4; i++) { Assert.assertEquals(metadata(i + 1), top.getChildren().get(i).getMetadata()); } } @@ -441,7 +442,7 @@ public void testWriteReadMetadata() throws IOException { Assert.assertEquals(originalSchema.getCustomMetadata(), schema.getCustomMetadata()); Field top = schema.getFields().get(0); Assert.assertEquals(metadata(0), top.getMetadata()); - for (int i = 0; i < 4; i ++) { + for (int i = 0; i < 4; i++) { Assert.assertEquals(metadata(i + 1), top.getChildren().get(i).getMetadata()); } } @@ -475,7 +476,7 @@ public void testWriteReadDictionary() throws IOException { } // Need to close dictionary vectors - for (long id: provider.getDictionaryIds()) { + for (long id : provider.getDictionaryIds()) { provider.lookup(id).getVector().close(); } } @@ -534,7 +535,7 @@ public void testWriteReadNestedDictionary() throws IOException { } // Need to close dictionary vectors - for (long id: provider.getDictionaryIds()) { + for (long id : provider.getDictionaryIds()) { provider.lookup(id).getVector().close(); } } diff --git a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowFooter.java b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowFooter.java index 3014e64b4ee..46124653231 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowFooter.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowFooter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import static java.util.Arrays.asList; @@ -40,7 +41,7 @@ public class TestArrowFooter { public void test() { Schema schema = new Schema(asList( new Field("a", FieldType.nullable(new ArrowType.Int(8, true)), Collections.emptyList()) - )); + )); ArrowFooter footer = new ArrowFooter(schema, Collections.emptyList(), Collections.emptyList()); ArrowFooter newFooter = roundTrip(footer); assertEquals(footer, newFooter); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowReaderWriter.java b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowReaderWriter.java index 55629d5107c..65332aa2c7d 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowReaderWriter.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowReaderWriter.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import static java.nio.channels.Channels.newChannel; @@ -77,15 +78,15 @@ public void test() throws IOException { FieldVector vector = TestUtils.newVector(FieldVector.class, "testField", type, allocator); vector.initializeChildrenFromFields(schema.getFields().get(0).getChildren()); - byte[] validity = new byte[] { (byte) 255, 0}; + byte[] validity = new byte[] {(byte) 255, 0}; // second half is "undefined" - byte[] values = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + byte[] values = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; ByteArrayOutputStream out = new ByteArrayOutputStream(); try (VectorSchemaRoot root = new VectorSchemaRoot(schema.getFields(), asList(vector), 16); ArrowFileWriter writer = new ArrowFileWriter(root, null, newChannel(out))) { ArrowBuf validityb = buf(validity); - ArrowBuf valuesb = buf(values); + ArrowBuf valuesb = buf(values); writer.writeRecordBatch(new ArrowRecordBatch(16, asList(new ArrowFieldNode(16, 8)), asList(validityb, valuesb))); } @@ -113,7 +114,7 @@ public void test() throws IOException { // Read just the header. This demonstrates being able to read without need to // deserialize the buffer. ByteBuffer headerBuffer = ByteBuffer.allocate(recordBatches.get(0).getMetadataLength()); - headerBuffer.put(byteArray, (int)recordBatches.get(0).getOffset(), headerBuffer.capacity()); + headerBuffer.put(byteArray, (int) recordBatches.get(0).getOffset(), headerBuffer.capacity()); headerBuffer.position(4); Message messageFB = Message.getRootAsMessage(headerBuffer); RecordBatch recordBatchFB = (RecordBatch) messageFB.header(new RecordBatch()); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowStream.java b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowStream.java index 7e9afd381c1..e2efabef009 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowStream.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowStream.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import static java.util.Arrays.asList; @@ -71,7 +72,7 @@ public void testReadWrite() throws IOException { root.getFieldVectors().get(0).allocateNew(); NullableTinyIntVector.Mutator mutator = (NullableTinyIntVector.Mutator) root.getFieldVectors().get(0).getMutator(); for (int i = 0; i < 16; i++) { - mutator.set(i, i < 8 ? 1 : 0, (byte)(i + 1)); + mutator.set(i, i < 8 ? 1 : 0, (byte) (i + 1)); } mutator.setValueCount(16); root.setRowCount(16); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowStreamPipe.java b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowStreamPipe.java index 20d4482da7c..a19c3795fd5 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowStreamPipe.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/file/TestArrowStreamPipe.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file; import static org.junit.Assert.assertEquals; @@ -65,7 +66,7 @@ public void run() { // Send a changing batch id first mutator.set(0, j); for (int i = 1; i < 16; i++) { - mutator.set(i, i < 8 ? 1 : 0, (byte)(i + 1)); + mutator.set(i, i < 8 ? 1 : 0, (byte) (i + 1)); } mutator.setValueCount(16); root.setRowCount(16); @@ -80,7 +81,9 @@ public void run() { } } - public long bytesWritten() { return writer.bytesWritten(); } + public long bytesWritten() { + return writer.bytesWritten(); + } } private final class ReaderThread extends Thread { @@ -104,6 +107,7 @@ protected ArrowMessage readMessage(ReadChannel in, BufferAllocator allocator) th } return message; } + @Override public boolean loadNextBatch() throws IOException { if (!super.loadNextBatch()) { @@ -113,10 +117,10 @@ public boolean loadNextBatch() throws IOException { VectorSchemaRoot root = getVectorSchemaRoot(); Assert.assertEquals(16, root.getRowCount()); NullableTinyIntVector vector = (NullableTinyIntVector) root.getFieldVectors().get(0); - Assert.assertEquals((byte)(batchesRead - 1), vector.getAccessor().get(0)); + Assert.assertEquals((byte) (batchesRead - 1), vector.getAccessor().get(0)); for (int i = 1; i < 16; i++) { if (i < 8) { - Assert.assertEquals((byte)(i + 1), vector.getAccessor().get(i)); + Assert.assertEquals((byte) (i + 1), vector.getAccessor().get(i)); } else { Assert.assertTrue(vector.getAccessor().isNull(i)); } @@ -143,8 +147,13 @@ public void run() { } } - public int getBatchesRead() { return batchesRead; } - public long bytesRead() { return reader.bytesRead(); } + public int getBatchesRead() { + return batchesRead; + } + + public long bytesRead() { + return reader.bytesRead(); + } } // Starts up a producer and consumer thread to read/write batches. diff --git a/java/vector/src/test/java/org/apache/arrow/vector/file/json/TestJSONFile.java b/java/vector/src/test/java/org/apache/arrow/vector/file/json/TestJSONFile.java index 311cada194e..24b2138386d 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/file/json/TestJSONFile.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/file/json/TestJSONFile.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.file.json; import java.io.File; @@ -53,7 +54,7 @@ public void testWriteReadComplexJSON() throws IOException { // read try ( BufferAllocator readerAllocator = allocator.newChildAllocator("reader", 0, Integer.MAX_VALUE); - ) { + ) { JsonFileReader reader = new JsonFileReader(file, readerAllocator); Schema schema = reader.start(); LOGGER.debug("reading schema: " + schema); @@ -109,7 +110,7 @@ public void testWriteReadUnionJSON() throws IOException { try ( BufferAllocator readerAllocator = allocator.newChildAllocator("reader", 0, Integer.MAX_VALUE); BufferAllocator vectorAllocator = allocator.newChildAllocator("final vectors", 0, Integer.MAX_VALUE); - ) { + ) { JsonFileReader reader = new JsonFileReader(file, readerAllocator); Schema schema = reader.start(); LOGGER.debug("reading schema: " + schema); @@ -174,7 +175,7 @@ public void testWriteReadDictionaryJSON() throws IOException { } // Need to close dictionary vectors - for (long id: provider.getDictionaryIds()) { + for (long id : provider.getDictionaryIds()) { provider.lookup(id).getVector().close(); } } @@ -215,7 +216,7 @@ public void testWriteReadNestedDictionaryJSON() throws IOException { } // Need to close dictionary vectors - for (long id: provider.getDictionaryIds()) { + for (long id : provider.getDictionaryIds()) { provider.lookup(id).getVector().close(); } } @@ -240,7 +241,7 @@ public void testWriteReadNestedDictionaryJSON() throws IOException { public void testSetStructLength() throws IOException { File file = new File("../../integration/data/struct_example.json"); try ( - BufferAllocator readerAllocator = allocator.newChildAllocator("reader", 0, Integer.MAX_VALUE); + BufferAllocator readerAllocator = allocator.newChildAllocator("reader", 0, Integer.MAX_VALUE); ) { JsonFileReader reader = new JsonFileReader(file, readerAllocator); Schema schema = reader.start(); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/pojo/TestConvert.java b/java/vector/src/test/java/org/apache/arrow/vector/pojo/TestConvert.java index 62c21f7da0d..f98aeac8c81 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/pojo/TestConvert.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/pojo/TestConvert.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.pojo; import static org.apache.arrow.vector.types.FloatingPointPrecision.DOUBLE; @@ -92,15 +93,15 @@ public void nestedSchema() { childrenBuilder.add(new Field("child3", FieldType.nullable(new Struct()), ImmutableList.of( new Field("child3.1", FieldType.nullable(Utf8.INSTANCE), null), new Field("child3.2", FieldType.nullable(new FloatingPoint(DOUBLE)), ImmutableList.of()) - ))); + ))); childrenBuilder.add(new Field("child4", FieldType.nullable(new List()), ImmutableList.of( new Field("child4.1", FieldType.nullable(Utf8.INSTANCE), null) - ))); - childrenBuilder.add(new Field("child5", FieldType.nullable(new Union(UnionMode.Sparse, new int[] { MinorType.TIMESTAMPMILLI.ordinal(), MinorType.FLOAT8.ordinal() } )), ImmutableList.of( + ))); + childrenBuilder.add(new Field("child5", FieldType.nullable(new Union(UnionMode.Sparse, new int[] {MinorType.TIMESTAMPMILLI.ordinal(), MinorType.FLOAT8.ordinal()})), ImmutableList.of( new Field("child5.1", FieldType.nullable(new Timestamp(TimeUnit.MILLISECOND, null)), null), new Field("child5.2", FieldType.nullable(new FloatingPoint(DOUBLE)), ImmutableList.of()), new Field("child5.3", true, new Timestamp(TimeUnit.MILLISECOND, "UTC"), null) - ))); + ))); Schema initialSchema = new Schema(childrenBuilder.build()); run(initialSchema); } diff --git a/java/vector/src/test/java/org/apache/arrow/vector/stream/MessageSerializerTest.java b/java/vector/src/test/java/org/apache/arrow/vector/stream/MessageSerializerTest.java index 9678423c0fb..f968768f5e6 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/stream/MessageSerializerTest.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/stream/MessageSerializerTest.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.stream; import static java.util.Arrays.asList; @@ -107,13 +108,13 @@ public void testdeSerializeRecordBatchLongMetaData() throws IOException { @Test public void testSerializeRecordBatch() throws IOException { - byte[] validity = new byte[] { (byte)255, 0}; + byte[] validity = new byte[] {(byte) 255, 0}; // second half is "undefined" - byte[] values = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + byte[] values = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; BufferAllocator alloc = new RootAllocator(Long.MAX_VALUE); ArrowBuf validityb = buf(alloc, validity); - ArrowBuf valuesb = buf(alloc, values); + ArrowBuf valuesb = buf(alloc, values); ArrowRecordBatch batch = new ArrowRecordBatch( 16, asList(new ArrowFieldNode(16, 8)), asList(validityb, valuesb)); diff --git a/java/vector/src/test/java/org/apache/arrow/vector/types/pojo/TestSchema.java b/java/vector/src/test/java/org/apache/arrow/vector/types/pojo/TestSchema.java index 84cc10787f7..43b0907720f 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/types/pojo/TestSchema.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/types/pojo/TestSchema.java @@ -15,6 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.arrow.vector.types.pojo; import static java.util.Arrays.asList; @@ -66,7 +67,7 @@ public void testComplex() throws IOException { field("g", new Timestamp(TimeUnit.MILLISECOND, "UTC")), field("h", new Timestamp(TimeUnit.MICROSECOND, null)), field("i", new Interval(IntervalUnit.DAY_TIME)) - )); + )); roundTrip(schema); assertEquals( "Schema, e: List, f: FloatingPoint(SINGLE), g: Timestamp(MILLISECOND, UTC), h: Timestamp(MICROSECOND, null), i: Interval(DAY_TIME)>", @@ -95,7 +96,7 @@ public void testAll() throws IOException { field("q", new Timestamp(TimeUnit.MILLISECOND, "UTC")), field("r", new Timestamp(TimeUnit.MICROSECOND, null)), field("s", new Interval(IntervalUnit.DAY_TIME)) - )); + )); roundTrip(schema); } @@ -103,7 +104,7 @@ public void testAll() throws IOException { public void testUnion() throws IOException { Schema schema = new Schema(asList( field("d", new Union(UnionMode.Sparse, new int[] {1, 2, 3}), field("da", new Null())) - )); + )); roundTrip(schema); contains(schema, "Sparse"); } @@ -113,7 +114,7 @@ public void testDate() throws IOException { Schema schema = new Schema(asList( field("a", new Date(DateUnit.DAY)), field("b", new Date(DateUnit.MILLISECOND)) - )); + )); roundTrip(schema); assertEquals( "Schema", @@ -123,15 +124,15 @@ public void testDate() throws IOException { @Test public void testTime() throws IOException { Schema schema = new Schema(asList( - field("a", new Time(TimeUnit.SECOND, 32)), - field("b", new Time(TimeUnit.MILLISECOND, 32)), - field("c", new Time(TimeUnit.MICROSECOND, 64)), - field("d", new Time(TimeUnit.NANOSECOND, 64)) + field("a", new Time(TimeUnit.SECOND, 32)), + field("b", new Time(TimeUnit.MILLISECOND, 32)), + field("c", new Time(TimeUnit.MICROSECOND, 64)), + field("d", new Time(TimeUnit.NANOSECOND, 64)) )); roundTrip(schema); assertEquals( - "Schema", - schema.toString()); + "Schema", + schema.toString()); } @Test @@ -145,7 +146,7 @@ public void testTS() throws IOException { field("f", new Timestamp(TimeUnit.MILLISECOND, null)), field("g", new Timestamp(TimeUnit.MICROSECOND, null)), field("h", new Timestamp(TimeUnit.NANOSECOND, null)) - )); + )); roundTrip(schema); assertEquals( "Schema", @@ -157,7 +158,7 @@ public void testInterval() throws IOException { Schema schema = new Schema(asList( field("a", new Interval(IntervalUnit.YEAR_MONTH)), field("b", new Interval(IntervalUnit.DAY_TIME)) - )); + )); roundTrip(schema); contains(schema, "YEAR_MONTH", "DAY_TIME"); } @@ -168,7 +169,7 @@ public void testFP() throws IOException { field("a", new FloatingPoint(FloatingPointPrecision.HALF)), field("b", new FloatingPoint(FloatingPointPrecision.SINGLE)), field("c", new FloatingPoint(FloatingPointPrecision.DOUBLE)) - )); + )); roundTrip(schema); contains(schema, "HALF", "SINGLE", "DOUBLE"); } diff --git a/java/vector/src/test/java/org/apache/arrow/vector/util/TestValidator.java b/java/vector/src/test/java/org/apache/arrow/vector/util/TestValidator.java index 7cf638e57d8..95b08099c20 100644 --- a/java/vector/src/test/java/org/apache/arrow/vector/util/TestValidator.java +++ b/java/vector/src/test/java/org/apache/arrow/vector/util/TestValidator.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.arrow.vector.util; import static org.apache.arrow.vector.util.Validator.equalEnough; @@ -26,32 +27,32 @@ public class TestValidator { - @Test - public void testFloatComp() { - assertTrue(equalEnough(912.4140000000002F, 912.414F)); - assertTrue(equalEnough(912.4140000000002D, 912.414D)); - assertTrue(equalEnough(912.414F, 912.4140000000002F)); - assertTrue(equalEnough(912.414D, 912.4140000000002D)); - assertFalse(equalEnough(912.414D, 912.4140001D)); - assertFalse(equalEnough(null, 912.414D)); - assertTrue(equalEnough((Float)null, null)); - assertTrue(equalEnough((Double)null, null)); - assertFalse(equalEnough(912.414D, null)); - assertFalse(equalEnough(Double.MAX_VALUE, Double.MIN_VALUE)); - assertFalse(equalEnough(Double.MIN_VALUE, Double.MAX_VALUE)); - assertTrue(equalEnough(Double.MAX_VALUE, Double.MAX_VALUE)); - assertTrue(equalEnough(Double.MIN_VALUE, Double.MIN_VALUE)); - assertTrue(equalEnough(Double.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY)); - assertFalse(equalEnough(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY)); - assertTrue(equalEnough(Double.NaN, Double.NaN)); - assertFalse(equalEnough(1.0, Double.NaN)); - assertFalse(equalEnough(Float.MAX_VALUE, Float.MIN_VALUE)); - assertFalse(equalEnough(Float.MIN_VALUE, Float.MAX_VALUE)); - assertTrue(equalEnough(Float.MAX_VALUE, Float.MAX_VALUE)); - assertTrue(equalEnough(Float.MIN_VALUE, Float.MIN_VALUE)); - assertTrue(equalEnough(Float.NEGATIVE_INFINITY, Float.NEGATIVE_INFINITY)); - assertFalse(equalEnough(Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY)); - assertTrue(equalEnough(Float.NaN, Float.NaN)); - assertFalse(equalEnough(1.0F, Float.NaN)); - } + @Test + public void testFloatComp() { + assertTrue(equalEnough(912.4140000000002F, 912.414F)); + assertTrue(equalEnough(912.4140000000002D, 912.414D)); + assertTrue(equalEnough(912.414F, 912.4140000000002F)); + assertTrue(equalEnough(912.414D, 912.4140000000002D)); + assertFalse(equalEnough(912.414D, 912.4140001D)); + assertFalse(equalEnough(null, 912.414D)); + assertTrue(equalEnough((Float) null, null)); + assertTrue(equalEnough((Double) null, null)); + assertFalse(equalEnough(912.414D, null)); + assertFalse(equalEnough(Double.MAX_VALUE, Double.MIN_VALUE)); + assertFalse(equalEnough(Double.MIN_VALUE, Double.MAX_VALUE)); + assertTrue(equalEnough(Double.MAX_VALUE, Double.MAX_VALUE)); + assertTrue(equalEnough(Double.MIN_VALUE, Double.MIN_VALUE)); + assertTrue(equalEnough(Double.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY)); + assertFalse(equalEnough(Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY)); + assertTrue(equalEnough(Double.NaN, Double.NaN)); + assertFalse(equalEnough(1.0, Double.NaN)); + assertFalse(equalEnough(Float.MAX_VALUE, Float.MIN_VALUE)); + assertFalse(equalEnough(Float.MIN_VALUE, Float.MAX_VALUE)); + assertTrue(equalEnough(Float.MAX_VALUE, Float.MAX_VALUE)); + assertTrue(equalEnough(Float.MIN_VALUE, Float.MIN_VALUE)); + assertTrue(equalEnough(Float.NEGATIVE_INFINITY, Float.NEGATIVE_INFINITY)); + assertFalse(equalEnough(Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY)); + assertTrue(equalEnough(Float.NaN, Float.NaN)); + assertFalse(equalEnough(1.0F, Float.NaN)); + } }