This is an automated email from the ASF dual-hosted git repository.
arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new e3e4dbeb8 Backward compatibility with CodeLookUp
e3e4dbeb8 is described below
commit e3e4dbeb8af242a3b2fbaaceda6a28cb8cccb643
Author: Jose Hernandez <[email protected]>
AuthorDate: Mon Apr 25 15:20:06 2022 -0500
Backward compatibility with CodeLookUp
---
.../data/ResultsetColumnHeaderData.java | 5 +-
.../service/GenericDataServiceImpl.java | 65 ++--------------------
2 files changed, 8 insertions(+), 62 deletions(-)
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
index b8718b584..d5d6bf4cd 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
@@ -75,6 +75,9 @@ public final class ResultsetColumnHeaderData implements
Serializable {
if (isString()) {
displayType = "STRING";
} else if (isAnyInteger()) {
+ if (isInteger()) {
+ this.columnType = this.columnType.toUpperCase();
+ }
displayType = "INTEGER";
} else if (isDate()) {
displayType = "DATE";
@@ -92,7 +95,7 @@ public final class ResultsetColumnHeaderData implements
Serializable {
}
} else {
- if (isInt()) {
+ if (isInt() || isInteger()) {
displayType = "CODELOOKUP";
} else if (isVarchar()) {
displayType = "CODEVALUE";
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/GenericDataServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/GenericDataServiceImpl.java
index da16db549..c305c8cfc 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/GenericDataServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/GenericDataServiceImpl.java
@@ -27,8 +27,6 @@ import javax.sql.DataSource;
import
org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException;
import org.apache.fineract.infrastructure.core.service.RoutingDataSource;
import
org.apache.fineract.infrastructure.core.service.database.DatabaseIndependentQueryService;
-import
org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
-import
org.apache.fineract.infrastructure.core.service.database.DatabaseTypeResolver;
import
org.apache.fineract.infrastructure.dataqueries.data.GenericResultsetData;
import
org.apache.fineract.infrastructure.dataqueries.data.ResultsetColumnHeaderData;
import
org.apache.fineract.infrastructure.dataqueries.data.ResultsetColumnValueData;
@@ -48,18 +46,13 @@ public class GenericDataServiceImpl implements
GenericDataService {
private final JdbcTemplate jdbcTemplate;
private final DataSource dataSource;
- private final DatabaseSpecificSQLGenerator sqlGenerator;
- private final DatabaseTypeResolver databaseTypeResolver;
private final DatabaseIndependentQueryService
databaseIndependentQueryService;
private static final Logger LOG =
LoggerFactory.getLogger(GenericDataServiceImpl.class);
@Autowired
public GenericDataServiceImpl(final RoutingDataSource dataSource, final
JdbcTemplate jdbcTemplate,
- DatabaseSpecificSQLGenerator sqlGenerator, DatabaseTypeResolver
databaseTypeResolver,
DatabaseIndependentQueryService databaseIndependentQueryService) {
this.dataSource = dataSource;
- this.sqlGenerator = sqlGenerator;
- this.databaseTypeResolver = databaseTypeResolver;
this.databaseIndependentQueryService = databaseIndependentQueryService;
this.jdbcTemplate = new JdbcTemplate(this.dataSource);
}
@@ -206,9 +199,6 @@ public class GenericDataServiceImpl implements
GenericDataService {
@Override
public List<ResultsetColumnHeaderData> fillResultsetColumnHeaders(final
String datatable) {
-
- LOG.debug("::3 Was inside the fill ResultSetColumnHeader");
-
final SqlRowSet columnDefinitions = getDatatableMetaData(datatable);
final List<ResultsetColumnHeaderData> columnHeaders = new
ArrayList<>();
@@ -226,38 +216,16 @@ public class GenericDataServiceImpl implements
GenericDataService {
List<ResultsetColumnValueData> columnValues = new ArrayList<>();
String codeName = null;
- if ("varchar".equalsIgnoreCase(columnType)) {
-
- final int codePosition = columnName.indexOf("_cv");
+ final int codePosition = columnName.indexOf("_cd");
+ if ("varchar".equalsIgnoreCase(columnType) ||
"int".equalsIgnoreCase(columnType) || "integer".equalsIgnoreCase(columnType)) {
if (codePosition > 0) {
codeName = columnName.substring(0, codePosition);
-
columnValues = retreiveColumnValues(codeName);
}
-
- } else if ("int".equalsIgnoreCase(columnType)) {
-
- final int codePosition = columnName.indexOf("_cd");
- if (codePosition > 0) {
- codeName = columnName.substring(0, codePosition);
- columnValues = retreiveColumnValues(codeName);
- }
- }
- if (codeName == null) {
- final SqlRowSet rsValues = getDatatableCodeData(datatable,
columnName);
- Integer codeId = null;
- while (rsValues.next()) {
- codeId = rsValues.getInt("id");
- codeName = rsValues.getString("code_name");
- }
- columnValues = retreiveColumnValues(codeId);
-
}
- final ResultsetColumnHeaderData rsch =
ResultsetColumnHeaderData.detailed(columnName, columnType, columnLength,
columnNullable,
- columnIsPrimaryKey, columnValues, codeName);
-
- columnHeaders.add(rsch);
+ columnHeaders.add(ResultsetColumnHeaderData.detailed(columnName,
columnType, columnLength, columnNullable, columnIsPrimaryKey,
+ columnValues, codeName));
}
return columnHeaders;
@@ -286,23 +254,6 @@ public class GenericDataServiceImpl implements
GenericDataService {
return columnValues;
}
- private List<ResultsetColumnValueData> retreiveColumnValues(final Integer
codeId) {
-
- final List<ResultsetColumnValueData> columnValues = new ArrayList<>();
- if (codeId != null) {
- final String sql = "select v.id, v.code_value from m_code_value v
where v.code_id = ? order by v.order_position, v.id";
- final SqlRowSet rsValues = this.jdbcTemplate.queryForRowSet(sql,
new Object[] { codeId }); // NOSONAR
- rsValues.beforeFirst();
- while (rsValues.next()) {
- final Integer id = rsValues.getInt("id");
- final String codeValue = rsValues.getString("code_value");
- columnValues.add(new ResultsetColumnValueData(id, codeValue));
- }
- }
-
- return columnValues;
- }
-
@SuppressWarnings("AvoidHidingCauseException")
private SqlRowSet getDatatableMetaData(final String datatable) {
try {
@@ -311,12 +262,4 @@ public class GenericDataServiceImpl implements
GenericDataService {
throw new DatatableNotFoundException(datatable);
}
}
-
- private SqlRowSet getDatatableCodeData(final String datatable, final
String columnName) {
- final String dataTableColumnName =
datatable.toLowerCase().replaceAll("\\s", "_") + "_" + columnName + "'";
- final String sql = "select mc.id,mc.code_name from m_code mc join
x_table_column_code_mappings xcc on xcc.code_id = mc.id where
xcc.column_alias_name= ?";
- final SqlRowSet rsValues = this.jdbcTemplate.queryForRowSet(sql, new
Object[] { dataTableColumnName }); // NOSONAR
-
- return rsValues;
- }
}