From 11986d461cc674f72bbf742320ca34fe69fbfe95 Mon Sep 17 00:00:00 2001 From: Christopher Grote Date: Sat, 9 Dec 2023 17:50:47 +0000 Subject: [PATCH] Fix bug in asset import where typeName is first column Signed-off-by: Christopher Grote --- .../src/main/kotlin/com/atlan/pkg/serde/RowDeserializer.kt | 6 +++--- .../src/main/kotlin/com/atlan/pkg/aim/AssetImporter.kt | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-toolkit/runtime/src/main/kotlin/com/atlan/pkg/serde/RowDeserializer.kt b/package-toolkit/runtime/src/main/kotlin/com/atlan/pkg/serde/RowDeserializer.kt index f99f124b88..59a8ef4320 100644 --- a/package-toolkit/runtime/src/main/kotlin/com/atlan/pkg/serde/RowDeserializer.kt +++ b/package-toolkit/runtime/src/main/kotlin/com/atlan/pkg/serde/RowDeserializer.kt @@ -30,8 +30,8 @@ class RowDeserializer( val row: List, private val typeIdx: Int = -1, private val qnIdx: Int = -1, - private val typeName: String = row.getOrElse(typeIdx) { "" }, - private val qualifiedName: String = row.getOrElse(qnIdx) { "" }, + val typeName: String = row.getOrElse(typeIdx) { "" }, + val qualifiedName: String = row.getOrElse(qnIdx) { "" }, private val logger: KLogger, private val skipColumns: Set, ) { @@ -116,7 +116,7 @@ class RowDeserializer( fun getValue(fieldName: String): Any? { if (fieldName.isNotBlank()) { val i = heading.indexOf(fieldName) - if (i > 0) { + if (i >= 0) { val rValue = row[i] return if (fieldName.contains(CM_HEADING_DELIMITER)) { // Custom metadata field... diff --git a/samples/packages/asset-import/src/main/kotlin/com/atlan/pkg/aim/AssetImporter.kt b/samples/packages/asset-import/src/main/kotlin/com/atlan/pkg/aim/AssetImporter.kt index 068cf3cb8f..7d25a9969a 100644 --- a/samples/packages/asset-import/src/main/kotlin/com/atlan/pkg/aim/AssetImporter.kt +++ b/samples/packages/asset-import/src/main/kotlin/com/atlan/pkg/aim/AssetImporter.kt @@ -36,8 +36,8 @@ class AssetImporter( ) { /** {@inheritDoc} */ override fun getBuilder(deserializer: RowDeserializer): Asset.AssetBuilder<*, *> { - val typeName = deserializer.getValue(Asset.TYPE_NAME.atlanFieldName)?.let { it as String } ?: "" - return FieldSerde.getBuilderForType(typeName) + val typeName = deserializer.typeName + return FieldSerde.getBuilderForType(typeName).qualifiedName(deserializer.qualifiedName) } /** {@inheritDoc} */