From ce1977b7c47a1fc847883acc588c78d144c7f106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Mili=C4=87?= Date: Fri, 17 Mar 2023 11:34:26 +0100 Subject: [PATCH] refactor/Remove redunant occurenies of function getDbConnectionParameters --- obp-api/src/main/scala/code/api/util/DBUtil.scala | 14 ++++++++++++++ .../MigrationOfConsentAuthContextDropIndex.scala | 13 ++----------- ...igrationOfMappedBadLoginAttemptDropIndex.scala | 14 ++------------ .../migration/MigrationOfUserAuthContext.scala | 13 ++----------- .../bankconnectors/LocalMappedConnector.scala | 11 +---------- .../main/scala/code/metrics/MappedMetrics.scala | 15 +++------------ 6 files changed, 24 insertions(+), 56 deletions(-) create mode 100644 obp-api/src/main/scala/code/api/util/DBUtil.scala diff --git a/obp-api/src/main/scala/code/api/util/DBUtil.scala b/obp-api/src/main/scala/code/api/util/DBUtil.scala new file mode 100644 index 000000000..58d551b0c --- /dev/null +++ b/obp-api/src/main/scala/code/api/util/DBUtil.scala @@ -0,0 +1,14 @@ +package code.api.util + +import code.api.Constant + +object DBUtil { + def getDbConnectionParameters: (String, String, String) = { + val dbUrl = APIUtil.getPropsValue("db.url") openOr Constant.h2DatabaseDefaultUrlValue + val username = dbUrl.split(";").filter(_.contains("user")).toList.headOption.map(_.split("=")(1)) + val password = dbUrl.split(";").filter(_.contains("password")).toList.headOption.map(_.split("=")(1)) + val dbUser = APIUtil.getPropsValue("db.user").orElse(username) + val dbPassword = APIUtil.getPropsValue("db.password").orElse(password) + (dbUrl, dbUser.getOrElse(""), dbPassword.getOrElse("")) + } +} diff --git a/obp-api/src/main/scala/code/api/util/migration/MigrationOfConsentAuthContextDropIndex.scala b/obp-api/src/main/scala/code/api/util/migration/MigrationOfConsentAuthContextDropIndex.scala index 57abab8ae..3a25f41d2 100644 --- a/obp-api/src/main/scala/code/api/util/migration/MigrationOfConsentAuthContextDropIndex.scala +++ b/obp-api/src/main/scala/code/api/util/migration/MigrationOfConsentAuthContextDropIndex.scala @@ -1,6 +1,6 @@ package code.api.util.migration -import code.api.util.APIUtil +import code.api.util.{APIUtil, DBUtil} import code.api.util.migration.Migration.{DbFunction, saveLog} import code.context.MappedConsentAuthContext import net.liftweb.common.Full @@ -18,15 +18,6 @@ object MigrationOfConsentAuthContextDropIndex { val oneDayAgo = ZonedDateTime.now(ZoneId.of("UTC")).minusDays(1) val oneYearInFuture = ZonedDateTime.now(ZoneId.of("UTC")).plusYears(1) val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm'Z'") - - private lazy val getDbConnectionParameters: (String, String, String) = { - val dbUrl = APIUtil.getPropsValue("db.url") openOr Constant.h2DatabaseDefaultUrlValue - val username = dbUrl.split(";").filter(_.contains("user")).toList.headOption.map(_.split("=")(1)) - val password = dbUrl.split(";").filter(_.contains("password")).toList.headOption.map(_.split("=")(1)) - val dbUser = APIUtil.getPropsValue("db.user").orElse(username) - val dbPassword = APIUtil.getPropsValue("db.password").orElse(password) - (dbUrl, dbUser.getOrElse(""), dbPassword.getOrElse("")) - } /** * this connection pool context corresponding db.url in default.props @@ -39,7 +30,7 @@ object MigrationOfConsentAuthContextDropIndex { validationQuery = "select 1", connectionPoolFactoryName = "commons-dbcp2" ) - val (dbUrl, user, password) = getDbConnectionParameters + val (dbUrl, user, password) = DBUtil.getDbConnectionParameters val dbName = "DB_NAME" // corresponding props db.url DB ConnectionPool.add(dbName, dbUrl, user, password, settings) val connectionPool = ConnectionPool.get(dbName) diff --git a/obp-api/src/main/scala/code/api/util/migration/MigrationOfMappedBadLoginAttemptDropIndex.scala b/obp-api/src/main/scala/code/api/util/migration/MigrationOfMappedBadLoginAttemptDropIndex.scala index c29e71e68..4f6ceb1f6 100644 --- a/obp-api/src/main/scala/code/api/util/migration/MigrationOfMappedBadLoginAttemptDropIndex.scala +++ b/obp-api/src/main/scala/code/api/util/migration/MigrationOfMappedBadLoginAttemptDropIndex.scala @@ -1,14 +1,13 @@ package code.api.util.migration import code.api.Constant -import code.api.util.APIUtil +import code.api.util.{APIUtil, DBUtil} import code.api.util.migration.Migration.{DbFunction, saveLog} import code.loginattempts.MappedBadLoginAttempt import net.liftweb.mapper.{DB, Schemifier} import net.liftweb.util.DefaultConnectionIdentifier import scalikejdbc.DB.CPContext import scalikejdbc._ - import java.time.format.DateTimeFormatter import java.time.{ZoneId, ZonedDateTime} @@ -17,15 +16,6 @@ object MigrationOfMappedBadLoginAttemptDropIndex { val oneDayAgo = ZonedDateTime.now(ZoneId.of("UTC")).minusDays(1) val oneYearInFuture = ZonedDateTime.now(ZoneId.of("UTC")).plusYears(1) val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm'Z'") - - private lazy val getDbConnectionParameters: (String, String, String) = { - val dbUrl = APIUtil.getPropsValue("db.url") openOr Constant.h2DatabaseDefaultUrlValue - val username = dbUrl.split(";").filter(_.contains("user")).toList.headOption.map(_.split("=")(1)) - val password = dbUrl.split(";").filter(_.contains("password")).toList.headOption.map(_.split("=")(1)) - val dbUser = APIUtil.getPropsValue("db.user").orElse(username) - val dbPassword = APIUtil.getPropsValue("db.password").orElse(password) - (dbUrl, dbUser.getOrElse(""), dbPassword.getOrElse("")) - } /** * this connection pool context corresponding db.url in default.props @@ -38,7 +28,7 @@ object MigrationOfMappedBadLoginAttemptDropIndex { validationQuery = "select 1", connectionPoolFactoryName = "commons-dbcp2" ) - val (dbUrl, user, password) = getDbConnectionParameters + val (dbUrl, user, password) = DBUtil.getDbConnectionParameters val dbName = "DB_NAME" // corresponding props db.url DB ConnectionPool.add(dbName, dbUrl, user, password, settings) val connectionPool = ConnectionPool.get(dbName) diff --git a/obp-api/src/main/scala/code/api/util/migration/MigrationOfUserAuthContext.scala b/obp-api/src/main/scala/code/api/util/migration/MigrationOfUserAuthContext.scala index 1c5d67eb5..4bf98a4d0 100644 --- a/obp-api/src/main/scala/code/api/util/migration/MigrationOfUserAuthContext.scala +++ b/obp-api/src/main/scala/code/api/util/migration/MigrationOfUserAuthContext.scala @@ -4,7 +4,7 @@ import java.time.format.DateTimeFormatter import java.time.{ZoneId, ZonedDateTime} import code.api.Constant -import code.api.util.APIUtil +import code.api.util.{APIUtil, DBUtil} import code.api.util.migration.Migration.{DbFunction, saveLog} import code.context.MappedUserAuthContext import code.views.system.AccountAccess @@ -19,15 +19,6 @@ object MigrationOfUserAuthContext { val oneDayAgo = ZonedDateTime.now(ZoneId.of("UTC")).minusDays(1) val oneYearInFuture = ZonedDateTime.now(ZoneId.of("UTC")).plusYears(1) val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm'Z'") - - private lazy val getDbConnectionParameters: (String, String, String) = { - val dbUrl = APIUtil.getPropsValue("db.url") openOr Constant.h2DatabaseDefaultUrlValue - val username = dbUrl.split(";").filter(_.contains("user")).toList.headOption.map(_.split("=")(1)) - val password = dbUrl.split(";").filter(_.contains("password")).toList.headOption.map(_.split("=")(1)) - val dbUser = APIUtil.getPropsValue("db.user").orElse(username) - val dbPassword = APIUtil.getPropsValue("db.password").orElse(password) - (dbUrl, dbUser.getOrElse(""), dbPassword.getOrElse("")) - } /** * this connection pool context corresponding db.url in default.props @@ -40,7 +31,7 @@ object MigrationOfUserAuthContext { validationQuery = "select 1", connectionPoolFactoryName = "commons-dbcp2" ) - val (dbUrl, user, password) = getDbConnectionParameters + val (dbUrl, user, password) = DBUtil.getDbConnectionParameters val dbName = "DB_NAME" // corresponding props db.url DB ConnectionPool.add(dbName, dbUrl, user, password, settings) val connectionPool = ConnectionPool.get(dbName) diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala index 7213f16c0..9ee66be83 100644 --- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala +++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala @@ -867,15 +867,6 @@ object LocalMappedConnector extends Connector with MdcLoggable { getCoreBankAccountsLegacy(bankIdAccountIds: List[BankIdAccountId], callContext: Option[CallContext]) } } - - private lazy val getDbConnectionParameters: (String, String, String) = { - val dbUrl = APIUtil.getPropsValue("db.url") openOr Constant.h2DatabaseDefaultUrlValue - val username = dbUrl.split(";").filter(_.contains("user")).toList.headOption.map(_.split("=")(1)) - val password = dbUrl.split(";").filter(_.contains("password")).toList.headOption.map(_.split("=")(1)) - val dbUser = APIUtil.getPropsValue("db.user").orElse(username) - val dbPassword = APIUtil.getPropsValue("db.password").orElse(password) - (dbUrl, dbUser.getOrElse(""), dbPassword.getOrElse("")) - } /** * this connection pool context corresponding db.url in default.props @@ -888,7 +879,7 @@ object LocalMappedConnector extends Connector with MdcLoggable { validationQuery = "select 1", connectionPoolFactoryName = "commons-dbcp2" ) - val (dbUrl, user, password) = getDbConnectionParameters + val (dbUrl, user, password) = DBUtil.getDbConnectionParameters val dbName = "DB_NAME" // corresponding props db.url DB ConnectionPool.add(dbName, dbUrl, user, password, settings) val connectionPool = ConnectionPool.get(dbName) diff --git a/obp-api/src/main/scala/code/metrics/MappedMetrics.scala b/obp-api/src/main/scala/code/metrics/MappedMetrics.scala index 5441cbf3f..333ec61a8 100644 --- a/obp-api/src/main/scala/code/metrics/MappedMetrics.scala +++ b/obp-api/src/main/scala/code/metrics/MappedMetrics.scala @@ -90,15 +90,6 @@ object MappedMetrics extends APIMetrics with MdcLoggable{ metric.save } - private lazy val getDbConnectionParameters: (String, String, String) = { - val dbUrl = APIUtil.getPropsValue("db.url") openOr Constant.h2DatabaseDefaultUrlValue - val username = dbUrl.split(";").filter(_.contains("user")).toList.headOption.map(_.split("=")(1)) - val password = dbUrl.split(";").filter(_.contains("password")).toList.headOption.map(_.split("=")(1)) - val dbUser = APIUtil.getPropsValue("db.user").orElse(username) - val dbPassword = APIUtil.getPropsValue("db.password").orElse(password) - (dbUrl, dbUser.getOrElse(""), dbPassword.getOrElse("")) - } - private def trueOrFalse(condition: Boolean) = if (condition) sqls"1=1" else sqls"0=1" private def falseOrTrue(condition: Boolean) = if (condition) sqls"0=1" else sqls"1=1" @@ -252,7 +243,7 @@ object MappedMetrics extends APIMetrics with MdcLoggable{ validationQuery = "select 1", connectionPoolFactoryName = "commons-dbcp2" ) - val (dbUrl, user, password) = getDbConnectionParameters + val (dbUrl, user, password) = DBUtil.getDbConnectionParameters val dbName = "DB_NAME" // corresponding props db.url DB ConnectionPool.add(dbName, dbUrl, user, password, settings) val connectionPool = ConnectionPool.get(dbName) @@ -399,7 +390,7 @@ object MappedMetrics extends APIMetrics with MdcLoggable{ val excludeUrlPatternsQueries = extendLikeQuery(excludeUrlPatternsList, false) - val (dbUrl, _, _) = getDbConnectionParameters + val (dbUrl, _, _) = DBUtil.getDbConnectionParameters val result: List[TopApi] = scalikeDB readOnly { implicit session => // MS SQL server has the specific syntax for limiting number of rows @@ -475,7 +466,7 @@ object MappedMetrics extends APIMetrics with MdcLoggable{ val excludeUrlPatternsQueries = extendLikeQuery(excludeUrlPatternsList, false) - val (dbUrl, _, _) = getDbConnectionParameters + val (dbUrl, _, _) = DBUtil.getDbConnectionParameters // MS SQL server has the specific syntax for limiting number of rows val msSqlLimit = if (dbUrl.contains("sqlserver")) sqls"TOP ($limit)" else sqls""