Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ allprojects {
}
}

version = "0.0.6"
version = "0.0.7"
group = "io.github.ustudiocompany"

configurations.all {
Expand Down
1 change: 0 additions & 1 deletion library/jdbc/core/api/jdbc-core-library.api
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ public final class io/github/ustudiocompany/uframework/jdbc/sql/ParametrizedSql
public synthetic fun <init> (Ljava/lang/String;Ljava/util/Map;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun getParameters ()Ljava/util/Map;
public final fun getValue ()Ljava/lang/String;
public fun toString ()Ljava/lang/String;
}

public final class io/github/ustudiocompany/uframework/jdbc/sql/ParametrizedSql$Companion {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@ public class ParametrizedSql private constructor(
public val value: String,
public val parameters: Map<String, Int>
) {

override fun toString(): String {
return "Sql: '${value.trim()}' \n " +
"Parameters: ${parameters.entries.joinToString(", ") { "${it.key}: ${it.value}" }}"
}

public companion object {
private const val PARAMETER_NAME_PLACEHOLDER = "?"
private const val PREFIX_PARAMETER_NAME = ':'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ import io.github.ustudiocompany.uframework.jdbc.statement.JDBCNamedPreparedState
import io.github.ustudiocompany.uframework.jdbc.statement.JDBCPreparedStatement
import io.github.ustudiocompany.uframework.jdbc.statement.JDBCPreparedStatementInstance
import io.github.ustudiocompany.uframework.jdbc.statement.JDBCStatement
import io.github.ustudiocompany.uframework.telemetry.logging.logger.slf4jextension.debug
import io.github.ustudiocompany.uframework.telemetry.logging.logger.slf4jextension.error
import io.github.ustudiocompany.uframework.telemetry.logging.logger.slf4jextension.trace
import io.github.ustudiocompany.uframework.telemetry.logging.logger.slf4jextension.warn
import java.sql.Connection
import java.sql.PreparedStatement
import org.slf4j.LoggerFactory
Expand All @@ -31,41 +32,41 @@ internal class TransactionInstance(
get() = this

override fun commit(): Maybe<JDBCError> {
logger.debug("Commit transaction started.")
logger.trace { "Commit transaction started." }
return Maybe.catch(
block = { unwrappedConnection.commit() },
catch = { exception ->
JDBCError(description = "Error while committing transaction.", exception = exception)
}
).onNone { logger.debug("Commit transaction finished.") }
).onNone { logger.trace { "Commit transaction finished." } }
}

override fun rollback(): Maybe<JDBCError> {
logger.debug("Rollback transaction started.")
logger.warn { "Rollback transaction started." }
return Maybe.catch(
block = { unwrappedConnection.rollback() },
catch = { exception ->
JDBCError(description = "Error while rolling back transaction.", exception = exception)
}
).onNone { logger.debug("Rollback transaction finished.") }
).onNone { logger.trace { "Rollback transaction finished." } }
}

override fun close() {
logger.debug("Closing transaction connection.")
logger.trace { "Closing transaction connection." }
try {
if (!unwrappedConnection.isClosed)
unwrappedConnection.close()
} catch (expected: Exception) {
logger.error(expected) { "Error occurred while closing connection." }
}
logger.debug("Transaction connection closed.")
logger.trace { "Transaction connection closed." }
}

override fun preparedStatement(
sql: String,
timeout: JDBCStatement.Timeout
): JDBCResult<JDBCPreparedStatement> {
logger.debug { "Executing Query: \n $sql" }
logger.trace { "Executing Query: $sql" }
return prepareStatement(sql, timeout)
.map { statement -> JDBCPreparedStatementInstance(statement = statement) }
}
Expand All @@ -74,7 +75,7 @@ internal class TransactionInstance(
sql: ParametrizedSql,
timeout: JDBCStatement.Timeout
): JDBCResult<JDBCNamedPreparedStatement> {
logger.debug { "Executing ParametrizedSql: \n $sql" }
logger.trace { "Executing ParametrizedSql: ${sql.value.trim()}" }
return prepareStatement(sql.value, timeout)
.map { statement ->
JDBCNamedPreparedStatementInstance(parameters = sql.parameters, statement = statement)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import io.github.ustudiocompany.uframework.jdbc.JDBCResult
import io.github.ustudiocompany.uframework.jdbc.connection.JDBCConnection
import io.github.ustudiocompany.uframework.jdbc.error.JDBCError
import io.github.ustudiocompany.uframework.jdbc.use
import io.github.ustudiocompany.uframework.telemetry.logging.logger.slf4jextension.debug
import io.github.ustudiocompany.uframework.telemetry.logging.logger.slf4jextension.trace
import org.slf4j.Logger
import org.slf4j.LoggerFactory

Expand Down Expand Up @@ -119,7 +119,7 @@ public inline fun <ValueT, ErrorT : Any, ExceptionT : Any> TransactionManager.us
startTransaction(isolation)
.mapFailure { fail -> exceptionBuilder(fail) }
.use { tx ->
logger.debug { "Transaction started." }
logger.trace { "Transaction started." }
val result = try {
block(tx.connection)
} catch (expected: Exception) {
Expand All @@ -136,6 +136,6 @@ public inline fun <ValueT, ErrorT : Any, ExceptionT : Any> TransactionManager.us
else
tx.rollback()

logger.debug { "Transaction ended." }
logger.trace { "Transaction ended." }
result
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ public final class io/github/ustudiocompany/uframework/telemetry/logging/logger/
public static final fun error (Lorg/slf4j/Logger;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V
public static synthetic fun error$default (Lorg/slf4j/Logger;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V
public static final fun info (Lorg/slf4j/Logger;Lkotlin/jvm/functions/Function0;)V
public static final fun trace (Lorg/slf4j/Logger;Lkotlin/jvm/functions/Function0;)V
public static final fun warn (Lorg/slf4j/Logger;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;)V
public static synthetic fun warn$default (Lorg/slf4j/Logger;Ljava/lang/Throwable;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ package io.github.ustudiocompany.uframework.telemetry.logging.logger.slf4jextens

import org.slf4j.Logger

public inline fun Logger.trace(msg: () -> String) {
if (isTraceEnabled) trace(msg())
}

public inline fun Logger.debug(msg: () -> String) {
if (isDebugEnabled) debug(msg())
}
Expand Down
Loading