From 478fb55b0fe89c97407f9747e39a09615d7e7c3d Mon Sep 17 00:00:00 2001 From: Aleksandar Vidakovic Date: Sun, 7 Jan 2024 13:50:17 +0100 Subject: [PATCH] FINERACT-2036: Fix code quality --- .../gradle/service/EmailService.groovy | 4 ++-- .../gradle/service/TemplateService.groovy | 8 ++++--- .../email/release.step01.headsup.message.ftl | 2 +- .../email/release.step01.headsup.subject.ftl | 2 +- .../email/release.step03.branch.subject.ftl | 2 +- .../email/release.step10.vote.subject.ftl | 2 +- .../email/release.step11.vote.subject.ftl | 2 +- .../email/release.step15.announce.message.ftl | 2 +- .../email/release.step15.announce.subject.ftl | 2 +- .../git/release.step05.tag.message.ftl | 2 +- .../ReadWriteNonCoreDataServiceImpl.java | 22 +++++++++---------- ...sAccountTransactionsSearchServiceImpl.java | 4 ++-- 12 files changed, 28 insertions(+), 26 deletions(-) diff --git a/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/EmailService.groovy b/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/EmailService.groovy index 6b6915410..ac93770bd 100644 --- a/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/EmailService.groovy +++ b/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/EmailService.groovy @@ -73,8 +73,8 @@ class EmailService { if(params.bcc) { msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(params.bcc)) } - msg.setSubject(params.subject) - msg.setText(params.message); + msg.setSubject(params.subject, "UTF-8") + msg.setText(params.message, "UTF-8"); Transport.send(msg); diff --git a/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/TemplateService.groovy b/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/TemplateService.groovy index 356c9bb05..bcb8f7265 100644 --- a/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/TemplateService.groovy +++ b/buildSrc/src/main/groovy/org/apache/fineract/gradle/service/TemplateService.groovy @@ -27,6 +27,8 @@ import org.apache.fineract.gradle.FineractPluginExtension import org.slf4j.Logger import org.slf4j.LoggerFactory +import java.nio.charset.Charset + class TemplateService { private static final Logger log = LoggerFactory.getLogger(TemplateService.class) @@ -35,7 +37,7 @@ class TemplateService { TemplateService(FineractPluginExtension.FineractPluginConfigTemplate config) { def dir = new File(config.templateDir); - this.config = new Configuration(Configuration.VERSION_2_3_31); + this.config = new Configuration(Configuration.VERSION_2_3_32); this.config.setDirectoryForTemplateLoading(dir) this.config.setDefaultEncoding("UTF-8"); this.config.setLogTemplateExceptions(false); @@ -58,7 +60,7 @@ class TemplateService { Template template = null; if(params.templateFile) { - template = new Template("template", new FileReader(new File(params.templateFile)), this.config) + template = new Template("template", new FileReader(new File(params.templateFile), Charset.forName("UTF-8")), this.config) } if(params.template) { template = new Template("template", new StringReader(params.template), this.config) @@ -69,7 +71,7 @@ class TemplateService { def output = new File(params.outputFile) output.createNewFile() - template.process(data, new FileWriter(output, false)) + template.process(data, new FileWriter(output, Charset.forName("UTF-8"), false)) } else { def output = new StringWriter() diff --git a/buildSrc/src/main/resources/email/release.step01.headsup.message.ftl b/buildSrc/src/main/resources/email/release.step01.headsup.message.ftl index 4c10f083a..83f804a5f 100644 --- a/buildSrc/src/main/resources/email/release.step01.headsup.message.ftl +++ b/buildSrc/src/main/resources/email/release.step01.headsup.message.ftl @@ -36,4 +36,4 @@ ${project['fineract.config.name']} -πŸŽ‰ Powered by Fineract Release Plugin 🎊 \ No newline at end of file +πŸŽ‰ Powered by Fineract Release Plugin 🎊 diff --git a/buildSrc/src/main/resources/email/release.step01.headsup.subject.ftl b/buildSrc/src/main/resources/email/release.step01.headsup.subject.ftl index 3a1e4751f..71df28ea4 100644 --- a/buildSrc/src/main/resources/email/release.step01.headsup.subject.ftl +++ b/buildSrc/src/main/resources/email/release.step01.headsup.subject.ftl @@ -18,4 +18,4 @@ under the License. --> -[FINERACT] [PROPOSAL] πŸ“¦ New release ${project['fineract.release.version']} \ No newline at end of file +[FINERACT] [PROPOSAL] πŸ“¦ New release ${project['fineract.release.version']} diff --git a/buildSrc/src/main/resources/email/release.step03.branch.subject.ftl b/buildSrc/src/main/resources/email/release.step03.branch.subject.ftl index 0a7f333dc..85fea033a 100644 --- a/buildSrc/src/main/resources/email/release.step03.branch.subject.ftl +++ b/buildSrc/src/main/resources/email/release.step03.branch.subject.ftl @@ -18,4 +18,4 @@ under the License. --> -[FINERACT] [ANNOUNCE] πŸ”€ ${project['fineract.release.version']} release branch \ No newline at end of file +[FINERACT] [ANNOUNCE] πŸ”€ ${project['fineract.release.version']} release branch diff --git a/buildSrc/src/main/resources/email/release.step10.vote.subject.ftl b/buildSrc/src/main/resources/email/release.step10.vote.subject.ftl index adb471fe4..9c8df5084 100644 --- a/buildSrc/src/main/resources/email/release.step10.vote.subject.ftl +++ b/buildSrc/src/main/resources/email/release.step10.vote.subject.ftl @@ -18,4 +18,4 @@ under the License. --> -[FINERACT] [VOTE] πŸ—³οΈ ${project['fineract.release.version']} for release \ No newline at end of file +[FINERACT] [VOTE] πŸ—³οΈ ${project['fineract.release.version']} for release diff --git a/buildSrc/src/main/resources/email/release.step11.vote.subject.ftl b/buildSrc/src/main/resources/email/release.step11.vote.subject.ftl index 9dfa8ec5a..380926605 100644 --- a/buildSrc/src/main/resources/email/release.step11.vote.subject.ftl +++ b/buildSrc/src/main/resources/email/release.step11.vote.subject.ftl @@ -18,4 +18,4 @@ under the License. --> -[FINERACT] [VOTE] [RESULT] 🧾️ ${project['fineract.release.version']} for release \ No newline at end of file +[FINERACT] [VOTE] [RESULT] 🧾️ ${project['fineract.release.version']} for release diff --git a/buildSrc/src/main/resources/email/release.step15.announce.message.ftl b/buildSrc/src/main/resources/email/release.step15.announce.message.ftl index f6d4bfb0f..e08c44dc2 100644 --- a/buildSrc/src/main/resources/email/release.step15.announce.message.ftl +++ b/buildSrc/src/main/resources/email/release.step15.announce.message.ftl @@ -40,4 +40,4 @@ https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=${project['finera For more information on Apache Fineract please visit project home page: https://fineract.apache.org -The Apache Fineract Team \ No newline at end of file +The Apache Fineract Team diff --git a/buildSrc/src/main/resources/email/release.step15.announce.subject.ftl b/buildSrc/src/main/resources/email/release.step15.announce.subject.ftl index 2701e86ba..41d04d822 100644 --- a/buildSrc/src/main/resources/email/release.step15.announce.subject.ftl +++ b/buildSrc/src/main/resources/email/release.step15.announce.subject.ftl @@ -18,4 +18,4 @@ under the License. --> -[ANNOUNCE] Apache Fineract ${project['fineract.release.version']} Release \ No newline at end of file +[ANNOUNCE] Apache Fineract ${project['fineract.release.version']} Release diff --git a/buildSrc/src/main/resources/git/release.step05.tag.message.ftl b/buildSrc/src/main/resources/git/release.step05.tag.message.ftl index 645090334..8dbf0bd7e 100644 --- a/buildSrc/src/main/resources/git/release.step05.tag.message.ftl +++ b/buildSrc/src/main/resources/git/release.step05.tag.message.ftl @@ -18,4 +18,4 @@ under the License. --> -Fineract ${project['fineract.release.version']} release \ No newline at end of file +Fineract ${project['fineract.release.version']} release diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadWriteNonCoreDataServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadWriteNonCoreDataServiceImpl.java index b8d587e71..fd1b77fd3 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadWriteNonCoreDataServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadWriteNonCoreDataServiceImpl.java @@ -219,7 +219,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ Object columnValue = SearchUtil.parseJdbcColumnValue(column, columnValueString, null, null, null, false, sqlGenerator); String sql = sqlGenerator.buildSelect(selectColumns, null, false) + " " + sqlGenerator.buildFrom(datatable, null, false) + " WHERE " + EQ.formatPlaceholder(sqlGenerator, column.getColumnName(), 1, null); - SqlRowSet rowSet = jdbcTemplate.queryForRowSet(sql, columnValue); + SqlRowSet rowSet = jdbcTemplate.queryForRowSet(sql, columnValue); // NOSONAR List results = new ArrayList<>(); while (rowSet.next()) { @@ -279,7 +279,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ // Execute the count Query String countQuery = "SELECT COUNT(*)" + from + where; - Integer totalElements = jdbcTemplate.queryForObject(countQuery, Integer.class, args); + Integer totalElements = jdbcTemplate.queryForObject(countQuery, Integer.class, args); // NOSONAR if (totalElements == null || totalElements == 0) { return PageableExecutionUtils.getPage(results, pageable, () -> 0); } @@ -1012,7 +1012,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ String findFKSql = "SELECT count(*) FROM information_schema.TABLE_CONSTRAINTS i" + " WHERE i.CONSTRAINT_TYPE = 'FOREIGN KEY' AND " + schemaSql + " AND i.TABLE_NAME = '" + datatableName + "' AND i.CONSTRAINT_NAME = '" + fkName + "' "; - final Integer count = this.jdbcTemplate.queryForObject(findFKSql, Integer.class); + final Integer count = this.jdbcTemplate.queryForObject(findFKSql, Integer.class); // NOSONAR if (count != null && count > 0) { codeMappings.add(datatableAlias + "_" + name); constrainBuilder.append(", DROP FOREIGN KEY ").append(sqlGenerator.escape(fkName)).append(" "); @@ -1076,7 +1076,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ if (type != null && mandatory && type.isStringType()) { String sql = "UPDATE " + sqlGenerator.escape(datatableName) + " SET " + sqlGenerator.escape(name) + " = '' WHERE " + sqlGenerator.escape(name) + " IS NULL"; - this.jdbcTemplate.update(sql); + this.jdbcTemplate.update(sql); // NOSONAR } } @@ -1141,12 +1141,12 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ private void createUniqueConstraint(String datatableName, String columnName, String uniqueKeyName) { String sql = "ALTER TABLE " + sqlGenerator.escape(datatableName) + " ADD CONSTRAINT " + sqlGenerator.escape(uniqueKeyName) + " UNIQUE (" + sqlGenerator.escape(columnName) + ");"; - this.jdbcTemplate.execute(sql); + this.jdbcTemplate.execute(sql); // NOSONAR } private void dropUniqueConstraint(String datatableName, String uniqueKeyName) { String sql = "ALTER TABLE " + sqlGenerator.escape(datatableName) + " DROP CONSTRAINT " + sqlGenerator.escape(uniqueKeyName) + ";"; - this.jdbcTemplate.execute(sql); + this.jdbcTemplate.execute(sql); // NOSONAR } private void updateIndexesForTable(String datatableName, JsonArray changeColumns, @@ -1430,7 +1430,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ params.add(primaryKey); final String sql = sqlGenerator.buildUpdate(dataTableName, updateColumns, headersByName) + " WHERE " + pkColumn.getColumnName() + " = ?"; - int updated = jdbcTemplate.update(sql, params.toArray(Object[]::new)); + int updated = jdbcTemplate.update(sql, params.toArray(Object[]::new)); // NOSONAR if (updated != 1) { throw new PlatformDataIntegrityException("error.msg.invalid.update", "Expected one updated row."); } @@ -1486,7 +1486,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ String sql = "DELETE FROM " + sqlGenerator.escape(dataTableName) + " WHERE " + sqlGenerator.escape(whereColumn) + " = " + whereValue; - this.jdbcTemplate.update(sql); + this.jdbcTemplate.update(sql); // NOSONAR return new CommandProcessingResultBuilder() // .withCommandId(command.commandId()) // .withEntityId(whereValue) // @@ -1643,7 +1643,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ String sql = "SELECT COUNT(edc.x_registered_table_name) FROM x_registered_table xrt" + " JOIN m_entity_datatable_check edc ON edc.x_registered_table_name = xrt.registered_table_name" + " WHERE edc.x_registered_table_name = '" + datatableName + "'"; - final Long count = this.jdbcTemplate.queryForObject(sql, Long.class); + final Long count = this.jdbcTemplate.queryForObject(sql, Long.class); // NOSONAR return count != null && count > 0; } @@ -1682,7 +1682,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ private void validateDataTableExists(final String datatableName) { final String sql = "select (CASE WHEN exists (select 1 from information_schema.tables where table_schema = " + sqlGenerator.currentSchema() + " and table_name = ?) THEN 'true' ELSE 'false' END)"; - final boolean dataTableExists = Boolean.parseBoolean(this.jdbcTemplate.queryForObject(sql, String.class, datatableName)); + final boolean dataTableExists = Boolean.parseBoolean(this.jdbcTemplate.queryForObject(sql, String.class, datatableName)); // NOSONAR if (!dataTableExists) { throw new PlatformDataIntegrityException("error.msg.invalid.datatable", "Invalid Data Table: " + datatableName, API_FIELD_NAME, datatableName); @@ -1716,7 +1716,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ private int getDatatableRowCount(final String datatableName) { final String sql = "select count(*) from " + sqlGenerator.escape(datatableName); - Integer count = this.jdbcTemplate.queryForObject(sql, Integer.class); + Integer count = this.jdbcTemplate.queryForObject(sql, Integer.class); // NOSONAR return count == null ? 0 : count; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/search/SavingsAccountTransactionsSearchServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/search/SavingsAccountTransactionsSearchServiceImpl.java index 8b17c9605..f87037593 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/search/SavingsAccountTransactionsSearchServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/search/SavingsAccountTransactionsSearchServiceImpl.java @@ -114,7 +114,7 @@ public class SavingsAccountTransactionsSearchServiceImpl implements SavingsAccou Object[] args = params.toArray(); String countQuery = "SELECT COUNT(*) " + tm.from() + where; - Integer totalElements = jdbcTemplate.queryForObject(countQuery, Integer.class, args); + Integer totalElements = jdbcTemplate.queryForObject(countQuery, Integer.class, args); // NOSONAR if (totalElements == null || totalElements == 0) { return emptyResult; } @@ -266,7 +266,7 @@ public class SavingsAccountTransactionsSearchServiceImpl implements SavingsAccou // Execute the count Query String countQuery = "SELECT COUNT(*)" + from + where; - Integer totalElements = jdbcTemplate.queryForObject(countQuery, Integer.class, args); + Integer totalElements = jdbcTemplate.queryForObject(countQuery, Integer.class, args); // NOSONAR if (totalElements == null || totalElements == 0) { return PageableExecutionUtils.getPage(results, pageable, () -> 0); }