FINERACT-1911: Support timestamp type

This commit is contained in:
jmarta
2023-08-18 16:50:31 +02:00
committed by Adam Saghy
parent a4f9b167f2
commit c7300fd526
3 changed files with 8 additions and 4 deletions
@@ -24,6 +24,7 @@ import static org.apache.fineract.infrastructure.core.service.database.JdbcJavaT
import static org.apache.fineract.infrastructure.core.service.database.JdbcJavaType.DECIMAL;
import static org.apache.fineract.infrastructure.core.service.database.JdbcJavaType.INTEGER;
import static org.apache.fineract.infrastructure.core.service.database.JdbcJavaType.TEXT;
import static org.apache.fineract.infrastructure.core.service.database.JdbcJavaType.TIMESTAMP;
import static org.apache.fineract.infrastructure.core.service.database.JdbcJavaType.VARCHAR;
import static org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_FIELD_AFTER;
import static org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_FIELD_CODE;
@@ -332,7 +333,8 @@ public class DatatableCommandFromApiJsonDeserializer {
case API_FIELD_TYPE_BOOLEAN -> BOOLEAN;
case API_FIELD_TYPE_DECIMAL -> DECIMAL;
case API_FIELD_TYPE_DATE -> DATE;
case API_FIELD_TYPE_DATETIME, API_FIELD_TYPE_TIMESTAMP -> DATETIME;
case API_FIELD_TYPE_DATETIME -> DATETIME;
case API_FIELD_TYPE_TIMESTAMP -> TIMESTAMP;
case API_FIELD_TYPE_TEXT -> TEXT;
default -> throw new PlatformDataIntegrityException("error.msg.datatable.column.type.invalid",
"Column type " + apiType + " is not supported.");
@@ -21,6 +21,7 @@ package org.apache.fineract.infrastructure.dataqueries.service;
import static java.lang.String.format;
import static org.apache.fineract.infrastructure.core.service.database.JdbcJavaType.DATE;
import static org.apache.fineract.infrastructure.core.service.database.JdbcJavaType.DATETIME;
import static org.apache.fineract.infrastructure.core.service.database.JdbcJavaType.TIMESTAMP;
import static org.apache.fineract.infrastructure.dataqueries.data.ResultsetColumnHeaderData.DisplayType.CODELOOKUP;
import static org.apache.fineract.infrastructure.dataqueries.data.ResultsetColumnHeaderData.DisplayType.DECIMAL;
import static org.apache.fineract.infrastructure.dataqueries.data.ResultsetColumnHeaderData.DisplayType.INTEGER;
@@ -152,7 +153,7 @@ public class GenericDataServiceImpl implements GenericDataService {
if (colType == DATE) {
Date tmpDate = (Date) rs.getObject(columnName);
columnValues.add(tmpDate == null ? null : tmpDate.toLocalDate());
} else if (colType == DATETIME) {
} else if (colType == DATETIME || colType == TIMESTAMP) {
Object tmpDate = rs.getObject(columnName);
columnValues.add(
tmpDate == null ? null : (tmpDate instanceof Timestamp ? ((Timestamp) tmpDate).toLocalDateTime() : tmpDate));