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 009e9ded0 FINERACT-2095: Support for string type primary keys - enum
options
009e9ded0 is described below
commit 009e9ded01b8c937f1490c468959eee1ad2fa148
Author: Marta Jankovics <[email protected]>
AuthorDate: Wed Jun 26 13:07:05 2024 +0200
FINERACT-2095: Support for string type primary keys - enum options
---
.../data/{EnumOptionData.java => BaseEnumOptionData.java} | 8 ++++----
.../fineract/infrastructure/core/data/EnumOptionData.java | 12 ++++--------
.../data/{EnumOptionData.java => StringEnumOptionData.java} | 12 ++++--------
.../interoperation/domain/InteropIdentifierType.java | 5 +++++
4 files changed, 17 insertions(+), 20 deletions(-)
diff --git
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/BaseEnumOptionData.java
similarity index 87%
copy from
fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
copy to
fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/BaseEnumOptionData.java
index 6f2251e9f..ca81d716e 100644
---
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
+++
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/BaseEnumOptionData.java
@@ -31,9 +31,9 @@ import lombok.Getter;
@Getter
@EqualsAndHashCode
@AllArgsConstructor
-public class EnumOptionData implements Serializable {
+public abstract class BaseEnumOptionData<T> implements Serializable {
- private final Long id;
- private final String code;
- private final String value;
+ protected T id;
+ protected final String code;
+ protected final String value;
}
diff --git
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
index 6f2251e9f..f3c027a84 100644
---
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
+++
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
@@ -19,8 +19,6 @@
package org.apache.fineract.infrastructure.core.data;
import java.io.Serializable;
-import lombok.AllArgsConstructor;
-import lombok.EqualsAndHashCode;
import lombok.Getter;
/**
@@ -29,11 +27,9 @@ import lombok.Getter;
* </p>
*/
@Getter
-@EqualsAndHashCode
-@AllArgsConstructor
-public class EnumOptionData implements Serializable {
+public class EnumOptionData extends BaseEnumOptionData<Long> implements
Serializable {
- private final Long id;
- private final String code;
- private final String value;
+ public EnumOptionData(Long id, String code, String description) {
+ super(id, code, description);
+ }
}
diff --git
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/StringEnumOptionData.java
similarity index 80%
copy from
fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
copy to
fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/StringEnumOptionData.java
index 6f2251e9f..ec5c152d7 100644
---
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/EnumOptionData.java
+++
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/data/StringEnumOptionData.java
@@ -19,8 +19,6 @@
package org.apache.fineract.infrastructure.core.data;
import java.io.Serializable;
-import lombok.AllArgsConstructor;
-import lombok.EqualsAndHashCode;
import lombok.Getter;
/**
@@ -29,11 +27,9 @@ import lombok.Getter;
* </p>
*/
@Getter
-@EqualsAndHashCode
-@AllArgsConstructor
-public class EnumOptionData implements Serializable {
+public class StringEnumOptionData extends BaseEnumOptionData<String>
implements Serializable {
- private final Long id;
- private final String code;
- private final String value;
+ public StringEnumOptionData(String id, String code, String description) {
+ super(id, code, description);
+ }
}
diff --git
a/fineract-core/src/main/java/org/apache/fineract/interoperation/domain/InteropIdentifierType.java
b/fineract-core/src/main/java/org/apache/fineract/interoperation/domain/InteropIdentifierType.java
index 6cba22dc2..81b811271 100644
---
a/fineract-core/src/main/java/org/apache/fineract/interoperation/domain/InteropIdentifierType.java
+++
b/fineract-core/src/main/java/org/apache/fineract/interoperation/domain/InteropIdentifierType.java
@@ -22,6 +22,7 @@ import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;
import lombok.Getter;
+import org.apache.fineract.infrastructure.core.data.StringEnumOptionData;
@Getter
public enum InteropIdentifierType {
@@ -65,4 +66,8 @@ public enum InteropIdentifierType {
InteropIdentifierType idType = BY_ALIAS.get(name);
return idType == null ? BY_NAME.get(name) : idType;
}
+
+ public StringEnumOptionData toStringEnumOptionData() {
+ return new StringEnumOptionData(name(), getCode(), getDescription());
+ }
}