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;
-    }
 }

Reply via email to