Skip to content

Commit def1584

Browse files
samuelAndalonSamuel Vazquez
andauthored
fix: log on else and return result of getter.call (#2100)
### 📝 Description for null returned values, log was happening and returning Unit Co-authored-by: Samuel Vazquez <[email protected]>
1 parent 2f8336b commit def1584

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

generator/graphql-kotlin-schema-generator/src/main/kotlin/com/expediagroup/graphql/generator/execution/SingletonPropertyDataFetcher.kt

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,24 +34,21 @@ internal object SingletonPropertyDataFetcher : LightDataFetcher<Any?> {
3434
): Any? =
3535
sourceObject?.let {
3636
val getter = getters["${sourceObject.javaClass.name}.${fieldDefinition.name}"]
37-
when {
38-
getter != null -> getter.call(sourceObject)
39-
else -> {
40-
sourceObject::class.memberProperties
41-
.find { it.name == fieldDefinition.name }
42-
?.let { kProperty ->
43-
kProperty.getter.call(sourceObject).also {
44-
register(sourceObject::class, kProperty)
45-
}
37+
if (getter != null) {
38+
getter.call(sourceObject)
39+
} else {
40+
sourceObject::class.memberProperties
41+
.find { it.name == fieldDefinition.name }
42+
?.let { kProperty ->
43+
kProperty.getter.call(sourceObject).also {
44+
register(sourceObject::class, kProperty)
4645
}
47-
}
48-
} ?: run {
49-
logger.error("getter method not found: ${sourceObject.javaClass.name}.${fieldDefinition.name}")
46+
} ?: run {
47+
logger.error("getter method not found: ${sourceObject.javaClass.name}.${fieldDefinition.name}")
48+
}
5049
}
5150
}
5251

5352
override fun get(environment: DataFetchingEnvironment): Any? =
54-
environment.getSource<Any?>()?.let { sourceObject ->
55-
getters["${sourceObject.javaClass.name}.${environment.fieldDefinition.name}"]?.call(sourceObject)
56-
}
53+
get(environment.fieldDefinition, environment.getSource()) { environment }
5754
}

0 commit comments

Comments
 (0)