From d376bf0eeb78b81f544f748c2002272340711913 Mon Sep 17 00:00:00 2001 From: Lukas Cardot Date: Mon, 2 Sep 2024 18:04:12 -0400 Subject: [PATCH] close cassandra session upon query execution --- .../db/cassandra/util/DBComparatorBuilder.kt | 19 +++++-------------- .../jcv/db/cassandra/util/QueryConverter.kt | 15 ++++++--------- 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/jcv-db-cassandra/src/main/kotlin/com/ekino/oss/jcv/db/cassandra/util/DBComparatorBuilder.kt b/jcv-db-cassandra/src/main/kotlin/com/ekino/oss/jcv/db/cassandra/util/DBComparatorBuilder.kt index eb235bf..5559f92 100644 --- a/jcv-db-cassandra/src/main/kotlin/com/ekino/oss/jcv/db/cassandra/util/DBComparatorBuilder.kt +++ b/jcv-db-cassandra/src/main/kotlin/com/ekino/oss/jcv/db/cassandra/util/DBComparatorBuilder.kt @@ -7,21 +7,12 @@ import com.ekino.oss.jcv.db.cassandra.DbComparatorCassandra import com.ekino.oss.jcv.db.config.DBValidators import org.skyscreamer.jsonassert.JSONCompareMode -class DBComparatorBuilder { +class DBComparatorBuilder( + private var mode: JSONCompareMode, + private var validators: List> +) { - constructor() - - constructor( - mode: JSONCompareMode, - validators: List> - ) { - this.mode = mode - this.validators = validators - } - - private lateinit var mode: JSONCompareMode - private lateinit var validators: List> - private var datasource: CassandraDataSource? = null + private lateinit var datasource: CassandraDataSource private var customMapper: CassandraMapper? = null companion object { diff --git a/jcv-db-cassandra/src/main/kotlin/com/ekino/oss/jcv/db/cassandra/util/QueryConverter.kt b/jcv-db-cassandra/src/main/kotlin/com/ekino/oss/jcv/db/cassandra/util/QueryConverter.kt index f15159b..ace33e5 100644 --- a/jcv-db-cassandra/src/main/kotlin/com/ekino/oss/jcv/db/cassandra/util/QueryConverter.kt +++ b/jcv-db-cassandra/src/main/kotlin/com/ekino/oss/jcv/db/cassandra/util/QueryConverter.kt @@ -2,22 +2,19 @@ package com.ekino.oss.jcv.db.cassandra.util import com.datastax.oss.driver.api.core.CqlSession import com.datastax.oss.driver.api.core.cql.ResultSet -import com.ekino.oss.jcv.db.exception.DbAssertException import com.ekino.oss.jcv.db.model.RowModel import com.ekino.oss.jcv.db.model.TableModel import java.net.InetSocketAddress -class QueryConverter(private val dataSource: CassandraDataSource? = null) { +class QueryConverter(private val dataSource: CassandraDataSource) { fun fromQueryToTableModel(query: String): TableModel { - val session = buildCqlSession(dataSource) - - val resultSet = session.execute(query) - return fromResultSetToTableModel(resultSet) + return buildCqlSession().use { session -> + val resultSet = session.execute(query) + fromResultSetToTableModel(resultSet) + } } - private fun buildCqlSession(dataSource: CassandraDataSource? = null): CqlSession { - dataSource ?: throw DbAssertException("You have to defined a valida datource") - + private fun buildCqlSession(): CqlSession { val builder = CqlSession .builder() .withLocalDatacenter(dataSource.datacenter)