Skip to content

Commit c0bd6cf

Browse files
committed
Prettify per linter
1 parent 20451d6 commit c0bd6cf

File tree

5 files changed

+126
-108
lines changed

5 files changed

+126
-108
lines changed

dataframe-arrow/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/ArrowWriter.kt

Lines changed: 40 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,26 @@ import kotlinx.datetime.toJavaLocalDate
66
import org.apache.arrow.memory.RootAllocator
77
import org.apache.arrow.vector.BaseFixedWidthVector
88
import org.apache.arrow.vector.BaseVariableWidthVector
9-
import org.apache.arrow.vector.FieldVector
10-
import org.apache.arrow.vector.FixedWidthVector
11-
import org.apache.arrow.vector.LargeVarCharVector
12-
import org.apache.arrow.vector.TinyIntVector
13-
import org.apache.arrow.vector.SmallIntVector
14-
import org.apache.arrow.vector.IntVector
159
import org.apache.arrow.vector.BigIntVector
1610
import org.apache.arrow.vector.BitVector
1711
import org.apache.arrow.vector.DateDayVector
1812
import org.apache.arrow.vector.DateMilliVector
19-
import org.apache.arrow.vector.DecimalVector
2013
import org.apache.arrow.vector.Decimal256Vector
14+
import org.apache.arrow.vector.DecimalVector
15+
import org.apache.arrow.vector.FieldVector
16+
import org.apache.arrow.vector.FixedWidthVector
2117
import org.apache.arrow.vector.Float4Vector
2218
import org.apache.arrow.vector.Float8Vector
19+
import org.apache.arrow.vector.IntVector
20+
import org.apache.arrow.vector.LargeVarCharVector
21+
import org.apache.arrow.vector.SmallIntVector
2322
import org.apache.arrow.vector.TimeMicroVector
2423
import org.apache.arrow.vector.TimeMilliVector
2524
import org.apache.arrow.vector.TimeNanoVector
2625
import org.apache.arrow.vector.TimeSecVector
27-
import org.apache.arrow.vector.VariableWidthVector
26+
import org.apache.arrow.vector.TinyIntVector
2827
import org.apache.arrow.vector.VarCharVector
28+
import org.apache.arrow.vector.VariableWidthVector
2929
import org.apache.arrow.vector.VectorSchemaRoot
3030
import org.apache.arrow.vector.ipc.ArrowFileWriter
3131
import org.apache.arrow.vector.ipc.ArrowStreamWriter
@@ -41,22 +41,20 @@ import org.jetbrains.kotlinx.dataframe.AnyCol
4141
import org.jetbrains.kotlinx.dataframe.AnyFrame
4242
import org.jetbrains.kotlinx.dataframe.DataFrame
4343
import org.jetbrains.kotlinx.dataframe.api.convertTo
44-
import org.jetbrains.kotlinx.dataframe.api.convertToBoolean
4544
import org.jetbrains.kotlinx.dataframe.api.convertToBigDecimal
45+
import org.jetbrains.kotlinx.dataframe.api.convertToBoolean
4646
import org.jetbrains.kotlinx.dataframe.api.convertToDouble
4747
import org.jetbrains.kotlinx.dataframe.api.convertToFloat
48-
import org.jetbrains.kotlinx.dataframe.api.convertToLong
4948
import org.jetbrains.kotlinx.dataframe.api.convertToInt
5049
import org.jetbrains.kotlinx.dataframe.api.convertToLocalDate
51-
import org.jetbrains.kotlinx.dataframe.api.convertToLocalTime
5250
import org.jetbrains.kotlinx.dataframe.api.convertToLocalDateTime
51+
import org.jetbrains.kotlinx.dataframe.api.convertToLocalTime
52+
import org.jetbrains.kotlinx.dataframe.api.convertToLong
5353
import org.jetbrains.kotlinx.dataframe.api.convertToString
5454
import org.jetbrains.kotlinx.dataframe.api.forEachIndexed
5555
import org.jetbrains.kotlinx.dataframe.exceptions.TypeConversionException
5656
import org.jetbrains.kotlinx.dataframe.exceptions.TypeConverterNotFoundException
5757
import org.jetbrains.kotlinx.dataframe.typeClass
58-
import org.slf4j.Logger
59-
import org.slf4j.LoggerFactory
6058
import java.io.ByteArrayOutputStream
6159
import java.io.File
6260
import java.io.FileOutputStream
@@ -69,8 +67,8 @@ import java.time.LocalTime
6967
import kotlin.reflect.full.isSubtypeOf
7068
import kotlin.reflect.typeOf
7169

72-
private val ignoreWarningMessage: (String) -> Unit = { message: String -> }
73-
private val writeWarningMessage: (String) -> Unit = {message: String -> System.err.println(message)}
70+
public val ignoreWarningMessage: (String) -> Unit = { message: String -> }
71+
public val writeWarningMessage: (String) -> Unit = { message: String -> System.err.println(message) }
7472

7573
/**
7674
* Create Arrow [Schema] matching [this] actual data.
@@ -135,7 +133,7 @@ public class ArrowWriter(
135133
private val targetSchema: Schema,
136134
private val mode: Mode,
137135
private val warningSubscriber: (String) -> Unit = ignoreWarningMessage
138-
): AutoCloseable {
136+
) : AutoCloseable {
139137

140138
public companion object {
141139
/**
@@ -169,8 +167,8 @@ public class ArrowWriter(
169167

170168
private fun infillWithNulls(vector: FieldVector, size: Int) {
171169
when (vector) {
172-
is BaseFixedWidthVector -> for ( i in 0 until size) { vector.setNull(i) }
173-
is BaseVariableWidthVector -> for ( i in 0 until size) { vector.setNull(i) }
170+
is BaseFixedWidthVector -> for (i in 0 until size) { vector.setNull(i) }
171+
is BaseVariableWidthVector -> for (i in 0 until size) { vector.setNull(i) }
174172
else -> TODO("Not implemented for ${vector.javaClass.canonicalName}")
175173
}
176174
vector.valueCount = size
@@ -204,39 +202,38 @@ public class ArrowWriter(
204202

205203
private fun infillVector(vector: FieldVector, column: AnyCol) {
206204
when (vector) {
207-
is VarCharVector -> column.convertToString().forEachIndexed { i, value -> value?.let { vector.set(i, Text(value)); value} ?: vector.setNull(i) }
208-
is LargeVarCharVector -> column.convertToString().forEachIndexed { i, value -> value?.let { vector.set(i, Text(value)); value} ?: vector.setNull(i) }
205+
is VarCharVector -> column.convertToString().forEachIndexed { i, value -> value?.let { vector.set(i, Text(value)); value } ?: vector.setNull(i) }
206+
is LargeVarCharVector -> column.convertToString().forEachIndexed { i, value -> value?.let { vector.set(i, Text(value)); value } ?: vector.setNull(i) }
209207
// is VarBinaryVector -> todo
210208
// is LargeVarBinaryVector -> todo
211-
is BitVector -> column.convertToBoolean().forEachIndexed { i, value -> value?.let { vector.set(i, value.compareTo(false)); value} ?: vector.setNull(i) }
212-
is TinyIntVector -> column.convertToInt().forEachIndexed { i, value -> value?.let { vector.set(i, value); value} ?: vector.setNull(i) }
213-
is SmallIntVector -> column.convertToInt().forEachIndexed { i, value -> value?.let { vector.set(i, value); value} ?: vector.setNull(i) }
214-
is IntVector -> column.convertToInt().forEachIndexed { i, value -> value?.let { vector.set(i, value); value} ?: vector.setNull(i) }
215-
is BigIntVector -> column.convertToLong().forEachIndexed { i, value -> value?.let { vector.set(i, value); value} ?: vector.setNull(i) }
209+
is BitVector -> column.convertToBoolean().forEachIndexed { i, value -> value?.let { vector.set(i, value.compareTo(false)); value } ?: vector.setNull(i) }
210+
is TinyIntVector -> column.convertToInt().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
211+
is SmallIntVector -> column.convertToInt().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
212+
is IntVector -> column.convertToInt().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
213+
is BigIntVector -> column.convertToLong().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
216214
// is UInt1Vector -> todo
217215
// is UInt2Vector -> todo
218216
// is UInt4Vector -> todo
219217
// is UInt8Vector -> todo
220-
is DecimalVector -> column.convertToBigDecimal().forEachIndexed { i, value -> value?.let { vector.set(i, value); value} ?: vector.setNull(i) }
221-
is Decimal256Vector -> column.convertToBigDecimal().forEachIndexed { i, value -> value?.let { vector.set(i, value); value} ?: vector.setNull(i) }
222-
is Float8Vector -> column.convertToDouble().forEachIndexed { i, value -> value?.let { vector.set(i, value); value} ?: vector.setNull(i) }
223-
is Float4Vector -> column.convertToFloat().forEachIndexed { i, value -> value?.let { vector.set(i, value); value} ?: vector.setNull(i) }
218+
is DecimalVector -> column.convertToBigDecimal().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
219+
is Decimal256Vector -> column.convertToBigDecimal().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
220+
is Float8Vector -> column.convertToDouble().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
221+
is Float4Vector -> column.convertToFloat().forEachIndexed { i, value -> value?.let { vector.set(i, value); value } ?: vector.setNull(i) }
224222

225-
is DateDayVector -> column.convertToLocalDate().forEachIndexed { i, value -> value?.let { vector.set(i, (value.toJavaLocalDate().toEpochDay()).toInt()); value} ?: vector.setNull(i) }
226-
is DateMilliVector -> column.convertToLocalDateTime().forEachIndexed { i, value -> value?.let { vector.set(i, value.toInstant(TimeZone.UTC).toEpochMilliseconds()); value} ?: vector.setNull(i) }
223+
is DateDayVector -> column.convertToLocalDate().forEachIndexed { i, value -> value?.let { vector.set(i, (value.toJavaLocalDate().toEpochDay()).toInt()); value } ?: vector.setNull(i) }
224+
is DateMilliVector -> column.convertToLocalDateTime().forEachIndexed { i, value -> value?.let { vector.set(i, value.toInstant(TimeZone.UTC).toEpochMilliseconds()); value } ?: vector.setNull(i) }
227225
// is DurationVector -> todo
228-
is TimeNanoVector -> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, value.toNanoOfDay()); value} ?: vector.setNull(i) }
229-
is TimeMicroVector -> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, value.toNanoOfDay() / 1000); value} ?: vector.setNull(i) }
230-
is TimeMilliVector -> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, (value.toNanoOfDay() / 1000 / 1000).toInt()); value} ?: vector.setNull(i) }
231-
is TimeSecVector -> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, (value.toNanoOfDay() / 1000 / 1000 / 1000).toInt()); value} ?: vector.setNull(i) }
226+
is TimeNanoVector -> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, value.toNanoOfDay()); value } ?: vector.setNull(i) }
227+
is TimeMicroVector -> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, value.toNanoOfDay() / 1000); value } ?: vector.setNull(i) }
228+
is TimeMilliVector -> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, (value.toNanoOfDay() / 1000 / 1000).toInt()); value } ?: vector.setNull(i) }
229+
is TimeSecVector -> column.convertToLocalTime().forEachIndexed { i, value -> value?.let { vector.set(i, (value.toNanoOfDay() / 1000 / 1000 / 1000).toInt()); value } ?: vector.setNull(i) }
232230
// is StructVector -> todo
233231
else -> {
234232
TODO("Saving to ${vector.javaClass.canonicalName} is not implemented")
235233
}
236234
}
237235

238236
vector.valueCount = dataFrame.rowsCount()
239-
240237
}
241238

242239
/**
@@ -259,7 +256,7 @@ public class ArrowWriter(
259256
}
260257
}
261258

262-
val (convertedColumn, actualField) = try {
259+
val (convertedColumn, actualField) = try {
263260
convertColumnToTarget(column, field.type) to field
264261
} catch (e: TypeConversionException) {
265262
handleConversionFail(e)
@@ -313,7 +310,7 @@ public class ArrowWriter(
313310
mainVectors[field.name] = vector
314311
}
315312
} catch (e: Exception) {
316-
mainVectors.values.forEach { it.close() } //Clear buffers before throwing exception
313+
mainVectors.values.forEach { it.close() } // Clear buffers before throwing exception
317314
throw e
318315
}
319316
val vectors = ArrayList<FieldVector>()
@@ -322,7 +319,9 @@ public class ArrowWriter(
322319
if (!mode.restrictWidening) {
323320
vectors.addAll(otherColumns.toVectors())
324321
} else {
325-
otherColumns.forEach { warningSubscriber("Column \"${it.name()}\" is not described in target schema and was ignored") }
322+
otherColumns.forEach {
323+
warningSubscriber("Column \"${it.name()}\" is not described in target schema and was ignored")
324+
}
326325
}
327326
return VectorSchemaRoot(vectors)
328327
}
@@ -335,7 +334,7 @@ public class ArrowWriter(
335334
public fun writeArrowIPC(channel: WritableByteChannel) {
336335
allocateVectorSchemaRoot().use { vectorSchemaRoot ->
337336
ArrowStreamWriter(vectorSchemaRoot, null, channel).use { writer ->
338-
writer.writeBatch();
337+
writer.writeBatch()
339338
}
340339
}
341340
}
@@ -372,7 +371,7 @@ public class ArrowWriter(
372371
public fun writeArrowFeather(channel: WritableByteChannel) {
373372
allocateVectorSchemaRoot().use { vectorSchemaRoot ->
374373
ArrowFileWriter(vectorSchemaRoot, null, channel).use { writer ->
375-
writer.writeBatch();
374+
writer.writeBatch()
376375
}
377376
}
378377
}

dataframe-arrow/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/arrow.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ import org.jetbrains.kotlinx.dataframe.codeGen.DefaultReadDfMethod
5050
import org.jetbrains.kotlinx.dataframe.impl.asList
5151
import java.io.File
5252
import java.io.InputStream
53-
import java.io.OutputStream
5453
import java.math.BigDecimal
5554
import java.math.BigInteger
5655
import java.net.URL
@@ -177,9 +176,10 @@ private fun Float8Vector.values(range: IntRange): List<Double?> = range.map { ge
177176

178177
private fun DurationVector.values(range: IntRange): List<Duration?> = range.map { getObject(it) }
179178
private fun DateDayVector.values(range: IntRange): List<LocalDate?> = range.map {
180-
if (getObject(it) == null) null else
179+
if (getObject(it) == null) null else {
181180
DateUtility.getLocalDateTimeFromEpochMilli(getObject(it).toLong() * DateUtility.daysToStandardMillis)
182181
.toLocalDate()
182+
}
183183
}
184184

185185
private fun DateMilliVector.values(range: IntRange): List<LocalDateTime?> = range.map { getObject(it) }
@@ -210,8 +210,9 @@ private fun TimeMilliVector.values(range: IntRange): List<LocalTime?> = range.ma
210210

211211
private fun TimeSecVector.values(range: IntRange): List<LocalTime?> =
212212
range.map { getObject(it)?.let { LocalTime.ofSecondOfDay(it.toLong()) } }
213-
214-
private fun StructVector.values(range: IntRange): List<Map<String, Any?>?> = range.map { getObject(it) }
213+
private fun StructVector.values(range: IntRange): List<Map<String, Any?>?> = range.map {
214+
getObject(it)
215+
}
215216

216217
private fun VarCharVector.values(range: IntRange): List<String?> = range.map {
217218
if (isNull(it)) {

dataframe-arrow/src/test/kotlin/ArrowKtTest.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ import org.jetbrains.kotlinx.dataframe.api.convertToBoolean
1212
import org.jetbrains.kotlinx.dataframe.api.copy
1313
import org.jetbrains.kotlinx.dataframe.api.dataFrameOf
1414
import org.jetbrains.kotlinx.dataframe.api.map
15-
import org.jetbrains.kotlinx.dataframe.api.toColumn
1615
import org.jetbrains.kotlinx.dataframe.api.remove
16+
import org.jetbrains.kotlinx.dataframe.api.toColumn
1717
import org.jetbrains.kotlinx.dataframe.io.ArrowWriter
1818
import org.jetbrains.kotlinx.dataframe.io.arrowWriter
1919
import org.jetbrains.kotlinx.dataframe.io.readArrowFeather
2020
import org.jetbrains.kotlinx.dataframe.io.readArrowIPC
21-
import org.jetbrains.kotlinx.dataframe.io.writeArrowFeather
2221
import org.jetbrains.kotlinx.dataframe.io.saveArrowIPCToByteArray
22+
import org.jetbrains.kotlinx.dataframe.io.writeArrowFeather
2323
import org.junit.Test
2424
import java.io.File
2525
import java.net.URL
@@ -104,7 +104,6 @@ internal class ArrowKtTest {
104104
assertEstimations(DataFrame.readArrowIPC(testArrowIPC("test-illegal.arrow"), NullabilityOptions.Widening), true, true)
105105
}
106106

107-
108107
@Test
109108
fun testWritingGeneral() {
110109
fun assertEstimation(citiesDeserialized: DataFrame<*>) {
@@ -238,5 +237,4 @@ internal class ArrowKtTest {
238237
DataFrame.readArrowFeather(testLoyalNullable)["settled"].type() shouldBe typeOf<LocalDateTime?>()
239238
DataFrame.readArrowFeather(testLoyalNullable)["settled"].values() shouldBe arrayOfNulls<LocalDate>(frameRenaming.rowsCount()).asList()
240239
}
241-
242240
}

dataframe-arrow/src/test/kotlin/exampleEstimatesAssertions.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ internal fun assertEstimations(exampleFrame: AnyFrame, expectedNullable: Boolean
2020
* In [exampleFrame] we get two concatenated batches. To assert the estimations, we should transform frame row number to batch row number
2121
*/
2222
fun iBatch(iFrame: Int): Int {
23-
val firstBatchSize = 100;
23+
val firstBatchSize = 100
2424
return if (iFrame < firstBatchSize) iFrame else iFrame - firstBatchSize
2525
}
2626

2727
fun expectedNull(rowNumber: Int): Boolean {
28-
return (rowNumber + 1) % 5 == 0;
28+
return (rowNumber + 1) % 5 == 0
2929
}
3030

3131
fun assertValueOrNull(rowNumber: Int, actual: Any?, expected: Any) {
@@ -155,5 +155,4 @@ internal fun assertEstimations(exampleFrame: AnyFrame, expectedNullable: Boolean
155155
timeNanoCol.forEachIndexed { i, element ->
156156
assertValueOrNull(iBatch(i), element, LocalTime.ofNanoOfDay(iBatch(i).toLong()))
157157
}
158-
159158
}

0 commit comments

Comments
 (0)