Skip to content

Commit 9405215

Browse files
authored
Merge pull request #13 from linked-planet/bug/ZITIS-887_improve_error_messages
improve error messages
2 parents 7ba03a1 + 9325265 commit 9405215

File tree

4 files changed

+15
-13
lines changed
  • kotlin-insight-client/kotlin-insight-client-api/src/main/kotlin/com/linkedplanet/kotlininsightclient/api/error
  • kotlin-jira-client

4 files changed

+15
-13
lines changed

kotlin-insight-client/kotlin-insight-client-api/src/main/kotlin/com/linkedplanet/kotlininsightclient/api/error/InsightClientError.kt

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,17 @@ import io.swagger.v3.oas.annotations.media.Schema
4444
@Suppress("unused")
4545
sealed class InsightClientError(
4646
val error: String,
47-
val message: String
47+
val message: String,
48+
val stacktrace: String = ""
4849
) {
49-
val stacktrace: String = Exception(message).stackTraceToString()
5050

5151
companion object {
5252
private const val internalErrorString = "Jira/Insight hat ein internes Problem festgestellt"
53-
fun fromException(e: Exception): InsightClientError =
54-
ExceptionInsightClientError(e.message ?: internalErrorString, e.stackTraceToString())
5553
fun fromException(e: Throwable): InsightClientError =
56-
ExceptionInsightClientError(e.message ?: "Interner Fehler", e.stackTraceToString())
54+
ExceptionInsightClientError("Insight-Fehler", e.message ?: internalErrorString, e.stackTraceToString())
5755

5856
fun internalError(message: String): Either<InsightClientError, InsightAttribute> =
59-
InternalInsightClientError("Interner Fehler", message).asEither()
57+
InternalInsightClientError("Interner Insight-Fehler", message).asEither()
6058

6159
}
6260
}
@@ -65,15 +63,15 @@ fun <T> InsightClientError.asEither(): Either<InsightClientError, T> = Either.Le
6563
class InvalidArgumentInsightClientError(message: String) : InsightClientError("Unerwarteter Parameter", message)
6664

6765
class InternalInsightClientError(error: String, message: String) : InsightClientError(error, message)
68-
class ExceptionInsightClientError(error: String, message: String) : InsightClientError(error, message)
66+
class ExceptionInsightClientError(error: String, message: String, stacktrace: String) : InsightClientError(error, message, stacktrace)
6967

7068
class AuthenticationError(message: String) : InsightClientError("Authentifizierung fehlgeschlagen", message)
7169

7270
class ObjectNotFoundError(val objectId: InsightObjectId):
73-
InsightClientError("Objekt nicht gefunden", "Das Objekt mit der InsightObjectId=$objectId wurde nicht gefunden.")
71+
InsightClientError("Insight Objekt nicht gefunden", "Das Objekt mit der InsightObjectId=$objectId wurde nicht gefunden.")
7472

7573
class ObjectTypeNotFoundError(val rootObjectTypeId: InsightObjectTypeId) :
76-
InsightClientError("Objekttyp unbekannt", "Der Objekttyp mit der angegebenen InsightObjectTypeId=$rootObjectTypeId wurde nicht gefunden.")
74+
InsightClientError("Insight Objekttyp unbekannt", "Der Objekttyp mit der angegebenen InsightObjectTypeId=$rootObjectTypeId wurde nicht gefunden.")
7775

7876
class OtherNotFoundError(message: String) : InsightClientError("Nicht gefunden.", message)
7977

kotlin-jira-client/kotlin-jira-client-api/src/main/kotlin/com/linkedplanet/kotlinjiraclient/api/error/JiraClientError.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ package com.linkedplanet.kotlinjiraclient.api.error
2222
@Suppress("unused")
2323
open class JiraClientError(
2424
val error: String,
25-
val message: String
25+
val message: String,
26+
val stacktrace: String = ""
2627
) {
27-
val stacktrace: String = Exception(message).stackTraceToString()
2828

2929
companion object
3030
}

kotlin-jira-client/kotlin-jira-client-http/src/main/kotlin/com/linkedplanet/kotlinjiraclient/http/util/JiraClientErrorExtension.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ import com.linkedplanet.kotlinhttpclient.error.HttpDomainError
2323
import com.linkedplanet.kotlinjiraclient.api.error.JiraClientError
2424

2525
fun JiraClientError.Companion.fromHttpDomainError(e: HttpDomainError): JiraClientError =
26-
JiraClientError(e.error, e.message)
26+
JiraClientError(e.error, e.message, "HttpStatusCode-${e.statusCode}")

kotlin-jira-client/kotlin-jira-client-sdk/src/main/kotlin/com/linkedplanet/kotlinjiraclient/sdk/util/EitherExtension.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,9 @@ inline fun <B> Either.Companion.catchJiraClientError(
2727
message: String? = null,
2828
f: () -> B
2929
): Either<JiraClientError, B> = catch(f).mapLeft {
30-
JiraClientError(error ?: it.message.toString(), message ?: it.stackTraceToString())
30+
JiraClientError(
31+
error = error ?: "Jira-Fehler",
32+
message = message ?: it.message ?: "-",
33+
stacktrace = it.stackTraceToString()
34+
)
3135
}

0 commit comments

Comments
 (0)