This is an automated email from the ASF dual-hosted git repository.
adamsaghy 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 8371e162ba FINERACT-2181: Refactor ResultColumnHeaderData using Lombok
and modern Java new features
8371e162ba is described below
commit 8371e162ba8c2fd6e4cc380826a43c4ab95a1ffd
Author: a7med3del1973 <[email protected]>
AuthorDate: Thu Feb 6 06:56:44 2025 +0200
FINERACT-2181: Refactor ResultColumnHeaderData using Lombok and modern Java
new features
---
.../data/ResultsetColumnHeaderData.java | 59 +++++-----------------
1 file changed, 14 insertions(+), 45 deletions(-)
diff --git
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
index a28c92a91f..c01aae9093 100644
---
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
+++
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
@@ -22,6 +22,7 @@ import jakarta.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
+import lombok.Getter;
import
org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException;
import org.apache.fineract.infrastructure.core.service.database.DatabaseType;
import org.apache.fineract.infrastructure.core.service.database.JdbcJavaType;
@@ -29,6 +30,7 @@ import
org.apache.fineract.infrastructure.core.service.database.JdbcJavaType;
/**
* Immutable data object representing a resultset column.
*/
+@Getter
public final class ResultsetColumnHeaderData implements Serializable {
private final String columnName;
@@ -39,7 +41,6 @@ public final class ResultsetColumnHeaderData implements
Serializable {
private final boolean isColumnPrimaryKey;
private final boolean isColumnUnique;
private final boolean isColumnIndexed;
-
private final List<ResultsetColumnValueData> columnValues;
private final String columnCode;
@@ -80,22 +81,10 @@ public final class ResultsetColumnHeaderData implements
Serializable {
this.columnDisplayType = calcDisplayType();
}
- public String getColumnName() {
- return this.columnName;
- }
-
public boolean isNamed(final String columnName) {
return this.columnName.equalsIgnoreCase(columnName);
}
- public JdbcJavaType getColumnType() {
- return this.columnType;
- }
-
- public Long getColumnLength() {
- return this.columnLength;
- }
-
public boolean getIsColumnNullable() {
return isColumnNullable;
}
@@ -112,18 +101,6 @@ public final class ResultsetColumnHeaderData implements
Serializable {
return isColumnIndexed;
}
- public DisplayType getColumnDisplayType() {
- return this.columnDisplayType;
- }
-
- public String getColumnCode() {
- return this.columnCode;
- }
-
- public List<ResultsetColumnValueData> getColumnValues() {
- return this.columnValues;
- }
-
public boolean isDateDisplayType() {
return columnDisplayType == DisplayType.DATE;
}
@@ -195,27 +172,17 @@ public final class ResultsetColumnHeaderData implements
Serializable {
}
// --- Calculation ---
-
private String adjustColumnType(String type) {
type = type.toUpperCase();
- switch (type) {
- case "CLOB":
- case "ENUM":
- case "SET":
- return "VARCHAR";
- case "NEWDECIMAL":
- return "DECIMAL";
- case "LONGLONG":
- return "BIGINT";
- case "SHORT":
- return "SMALLINT";
- case "TINY":
- return "TINYINT";
- case "INT24":
- return "INT";
- default:
- return type;
- }
+ return switch (type) {
+ case "CLOB", "ENUM", "SET" -> "VARCHAR";
+ case "NEWDECIMAL" -> "DECIMAL";
+ case "LONGLONG" -> "BIGINT";
+ case "SHORT" -> "SMALLINT";
+ case "TINY" -> "TINYINT";
+ case "INT24" -> "INT";
+ default -> type;
+ };
}
@NotNull
@@ -272,7 +239,9 @@ public final class ResultsetColumnHeaderData implements
Serializable {
return null;
}
+ // Enum representing the different ways a column can be displayed.
public enum DisplayType {
- TEXT, STRING, INTEGER, FLOAT, DECIMAL, DATE, TIME, DATETIME, BOOLEAN,
BINARY, CODELOOKUP, CODEVALUE,;
+ TEXT, STRING, INTEGER, FLOAT, DECIMAL, DATE, TIME, DATETIME, BOOLEAN,
BINARY, CODELOOKUP, CODEVALUE;
}
+
}