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 b482fbd44 FINERACT-2081: Support for string type primary keys -
refactor existing enums
b482fbd44 is described below
commit b482fbd44728bf78dd68a4f130a7ced497526607
Author: Marta Jankovics <[email protected]>
AuthorDate: Wed Jun 26 13:31:57 2024 +0200
FINERACT-2081: Support for string type primary keys - refactor existing
enums
---
.../accounting/common/AccountingRuleType.java | 26 +++---
.../dataqueries/data/EntityTables.java | 2 +-
.../dataqueries/data/StatusEnum.java | 97 +++++++---------------
.../infrastructure/jobs/service/JobName.java | 3 +-
.../fineract/portfolio/TransactionEntryType.java | 29 ++++---
.../portfolio/account/PortfolioAccountType.java | 3 +-
.../accountdetails/domain/AccountType.java | 12 ++-
.../fineract/portfolio/note/domain/NoteType.java | 8 ++
.../api/EntityDatatableChecksApiResource.java | 2 +-
.../dataqueries/domain/EntityDatatableChecks.java | 16 +---
.../domain/EntityDatatableChecksRepository.java | 8 +-
...EntityDatatableCheckAlreadyExistsException.java | 14 ++--
...tityDatatableChecksReadPlatformServiceImpl.java | 22 ++---
.../service/EntityDatatableChecksReadService.java | 5 +-
.../EntityDatatableChecksWritePlatformService.java | 6 +-
...ityDatatableChecksWritePlatformServiceImpl.java | 27 +++---
.../service/ClientReadPlatformServiceImpl.java | 4 +-
...lientWritePlatformServiceJpaRepositoryImpl.java | 11 ++-
.../portfolio/group/api/CentersApiResource.java | 4 +-
.../portfolio/group/api/GroupsApiResource.java | 4 +-
...TypesWritePlatformServiceJpaRepositoryImpl.java | 10 +--
.../loanaccount/api/LoansApiResource.java | 4 +-
.../serialization/LoanApplicationValidator.java | 2 +-
...ationWritePlatformServiceJpaRepositoryImpl.java | 13 ++-
.../LoanWritePlatformServiceJpaRepositoryImpl.java | 6 +-
.../portfolio/note/api/NotesApiResource.java | 2 -
.../portfolio/note/service/NoteEnumerations.java | 59 -------------
.../note/service/NoteReadPlatformServiceImpl.java | 6 +-
.../SavingsAccountReadPlatformServiceImpl.java | 4 +-
...countWritePlatformServiceJpaRepositoryImpl.java | 4 +-
...ocessWritePlatformServiceJpaRepositoryImpl.java | 17 ++--
31 files changed, 169 insertions(+), 261 deletions(-)
diff --git
a/fineract-core/src/main/java/org/apache/fineract/accounting/common/AccountingRuleType.java
b/fineract-core/src/main/java/org/apache/fineract/accounting/common/AccountingRuleType.java
index 5457736cf..456eb12f0 100644
---
a/fineract-core/src/main/java/org/apache/fineract/accounting/common/AccountingRuleType.java
+++
b/fineract-core/src/main/java/org/apache/fineract/accounting/common/AccountingRuleType.java
@@ -20,16 +20,21 @@ package org.apache.fineract.accounting.common;
import java.util.HashMap;
import java.util.Map;
+import lombok.Getter;
+import org.apache.fineract.infrastructure.core.data.EnumOptionData;
+import org.apache.fineract.infrastructure.core.data.StringEnumOptionData;
+@Getter
public enum AccountingRuleType {
- NONE(1, "accountingRuleType.none"), //
- CASH_BASED(2, "accountingRuleType.cash"), //
- ACCRUAL_PERIODIC(3, "accountingRuleType.accrual.periodic"), //
- ACCRUAL_UPFRONT(4, "accountingRuleType.accrual.upfront"); //
+ NONE(1, "accountingRuleType.none", "No accounting"), //
+ CASH_BASED(2, "accountingRuleType.cash", "Cash based accounting"), //
+ ACCRUAL_PERIODIC(3, "accountingRuleType.accrual.periodic", "Periodic
accrual accounting"), //
+ ACCRUAL_UPFRONT(4, "accountingRuleType.accrual.upfront", "Upfront accrual
accounting"); //
private final Integer value;
private final String code;
+ private final String description;
private static final Map<Integer, AccountingRuleType> intToEnumMap = new
HashMap<>();
@@ -44,21 +49,22 @@ public enum AccountingRuleType {
return type;
}
- AccountingRuleType(final Integer value, final String code) {
+ AccountingRuleType(final Integer value, final String code, final String
description) {
this.value = value;
this.code = code;
+ this.description = description;
}
@Override
public String toString() {
- return name().toString().replaceAll("_", " ");
+ return name().replaceAll("_", " ");
}
- public Integer getValue() {
- return this.value;
+ public EnumOptionData toEnumOptionData() {
+ return new EnumOptionData((long) getValue(), getCode(),
getDescription());
}
- public String getCode() {
- return this.code;
+ public StringEnumOptionData toStringEnumOptionData() {
+ return new StringEnumOptionData(name(), getCode(), getDescription());
}
}
diff --git
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/EntityTables.java
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/EntityTables.java
index 2db319073..0a924cf19 100644
---
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/EntityTables.java
+++
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/EntityTables.java
@@ -130,7 +130,7 @@ public enum EntityTables {
@NotNull
public static List<Integer> getCheckStatusCodes(String name) {
- return
getCheckStatuses(name).stream().map(StatusEnum::getCode).toList();
+ return
getCheckStatuses(name).stream().map(StatusEnum::getValue).toList();
}
@NotNull
diff --git
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/StatusEnum.java
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/StatusEnum.java
index 6c848f467..6a7add182 100644
---
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/StatusEnum.java
+++
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/StatusEnum.java
@@ -18,88 +18,55 @@
*/
package org.apache.fineract.infrastructure.dataqueries.data;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Arrays;
+import java.util.Map;
+import java.util.stream.Collectors;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
public enum StatusEnum {
- CREATE("create", 100), APPROVE("approve", 200), ACTIVATE("activate", 300),
WITHDRAWN("withdraw", 400), REJECTED("reject", 500), CLOSE(
- "close", 600), WRITE_OFF("write off", 601),
RESCHEDULE("reschedule", 602), OVERPAY("overpay", 700), DISBURSE("disburse",
800);
+ CREATE("statusEnum.create", 100), //
+ APPROVE("statusEnum.approve", 200), //
+ ACTIVATE("statusEnum.activate", 300), //
+ WITHDRAWN("statusEnum.withdraw", 400), //
+ REJECTED("statusEnum.reject", 500), //
+ CLOSE("statusEnum.close", 600), //
+ WRITE_OFF("statusEnum.write off", 601), //
+ RESCHEDULE("statusEnum.reschedule", 602), //
+ OVERPAY("statusEnum.overpay", 700), //
+ DISBURSE("statusEnum.disburse", 800), //
+ ;
- private final String name;
+ private static final StatusEnum[] VALUES = values();
- private final Integer code;
+ private static final Map<Integer, StatusEnum> BY_ID =
Arrays.stream(VALUES).collect(Collectors.toMap(StatusEnum::getValue, v -> v));
- public Integer getCode() {
- return code;
- }
-
- StatusEnum(String name, Integer code) {
+ private final String code;
- this.name = name;
- this.code = code;
+ private final Integer value;
+ public Integer getValue() {
+ return value;
}
- public static List<DatatableCheckStatusData> getStatusList() {
-
- List<DatatableCheckStatusData> data = new
ArrayList<DatatableCheckStatusData>();
-
- for (StatusEnum status : StatusEnum.values()) {
- data.add(new DatatableCheckStatusData(status.name, status.code));
- }
-
- return data;
-
+ StatusEnum(String code, Integer value) {
+ this.code = code;
+ this.value = value;
}
- public static StatusEnum fromInt(final Integer code) {
- StatusEnum ret = null;
- switch (code) {
- case 100:
- ret = StatusEnum.CREATE;
- break;
- case 200:
- ret = StatusEnum.APPROVE;
- break;
- case 300:
- ret = StatusEnum.ACTIVATE;
- break;
- case 400:
- ret = StatusEnum.WITHDRAWN;
- break;
- case 500:
- ret = StatusEnum.REJECTED;
- break;
- case 600:
- ret = StatusEnum.CLOSE;
- break;
- case 601:
- ret = StatusEnum.WRITE_OFF;
- break;
- case 602:
- ret = StatusEnum.RESCHEDULE;
- break;
- case 700:
- ret = StatusEnum.OVERPAY;
- break;
- case 800:
- ret = StatusEnum.DISBURSE;
- break;
- default:
- break;
- }
- return ret;
+ public static StatusEnum fromInt(final Integer value) {
+ return BY_ID.get(value);
}
- public static EnumOptionData statusTypeEnum(final Integer id) {
- return statusType(StatusEnum.fromInt(id));
+ public static EnumOptionData toEnumOptionData(final Integer id) {
+ return toEnumOptionData(StatusEnum.fromInt(id));
}
- public static EnumOptionData statusType(final StatusEnum statusType) {
- final EnumOptionData optionData = new
EnumOptionData(statusType.getCode().longValue(), statusType.name(),
statusType.name());
- return optionData;
+ public static EnumOptionData toEnumOptionData(final StatusEnum statusType)
{
+ return statusType == null ? null : statusType.toEnumOptionData();
}
+ public EnumOptionData toEnumOptionData() {
+ return new EnumOptionData(getValue().longValue(), code, name());
+ }
}
diff --git
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobName.java
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobName.java
index 2f9e5fb44..678f4858e 100644
---
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobName.java
+++
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobName.java
@@ -56,7 +56,8 @@ public enum JobName {
LOAN_DELINQUENCY_CLASSIFICATION("Loan Delinquency Classification"), //
SEND_ASYNCHRONOUS_EVENTS("Send Asynchronous Events"), //
PURGE_EXTERNAL_EVENTS("Purge External Events"), //
- PURGE_PROCESSED_COMMANDS("Purge Processed Commands");
+ PURGE_PROCESSED_COMMANDS("Purge Processed Commands"), //
+ ;
private final String name;
diff --git
a/fineract-core/src/main/java/org/apache/fineract/portfolio/TransactionEntryType.java
b/fineract-core/src/main/java/org/apache/fineract/portfolio/TransactionEntryType.java
index dc517ec69..bf782535a 100644
---
a/fineract-core/src/main/java/org/apache/fineract/portfolio/TransactionEntryType.java
+++
b/fineract-core/src/main/java/org/apache/fineract/portfolio/TransactionEntryType.java
@@ -18,26 +18,25 @@
*/
package org.apache.fineract.portfolio;
+import lombok.Getter;
+import org.apache.fineract.infrastructure.core.data.EnumOptionData;
+import org.apache.fineract.infrastructure.core.data.StringEnumOptionData;
+
+@Getter
public enum TransactionEntryType {
- CREDIT(1, "transactionEntryType.credit"), //
- DEBIT(2, "transactionEntryType.debit"), //
+ CREDIT(1, "transactionEntryType.credit", "Credit transaction"), //
+ DEBIT(2, "transactionEntryType.debit", "Debit transaction"), //
;
private final Integer value;
private final String code;
+ private final String description;
- TransactionEntryType(final Integer value, final String code) {
+ TransactionEntryType(final Integer value, final String code, final String
description) {
this.value = value;
this.code = code;
- }
-
- public Integer getValue() {
- return this.value;
- }
-
- public String getCode() {
- return this.code;
+ this.description = description;
}
public boolean isCredit() {
@@ -51,4 +50,12 @@ public enum TransactionEntryType {
public TransactionEntryType getReversal() {
return this == CREDIT ? DEBIT : CREDIT;
}
+
+ public EnumOptionData toEnumOptionData() {
+ return new EnumOptionData((long) getValue(), getCode(),
getDescription());
+ }
+
+ public StringEnumOptionData toStringEnumOptionData() {
+ return new StringEnumOptionData(name(), getCode(), getDescription());
+ }
}
diff --git
a/fineract-core/src/main/java/org/apache/fineract/portfolio/account/PortfolioAccountType.java
b/fineract-core/src/main/java/org/apache/fineract/portfolio/account/PortfolioAccountType.java
index e70dfab54..3a81a147c 100644
---
a/fineract-core/src/main/java/org/apache/fineract/portfolio/account/PortfolioAccountType.java
+++
b/fineract-core/src/main/java/org/apache/fineract/portfolio/account/PortfolioAccountType.java
@@ -22,7 +22,8 @@ public enum PortfolioAccountType {
INVALID(0, "accountType.invalid"), //
LOAN(1, "accountType.loan"), //
- SAVINGS(2, "accountType.savings");
+ SAVINGS(2, "accountType.savings"), //
+ ;
private final Integer value;
private final String code;
diff --git
a/fineract-core/src/main/java/org/apache/fineract/portfolio/accountdetails/domain/AccountType.java
b/fineract-core/src/main/java/org/apache/fineract/portfolio/accountdetails/domain/AccountType.java
index 10da640e3..f5d4d77b4 100644
---
a/fineract-core/src/main/java/org/apache/fineract/portfolio/accountdetails/domain/AccountType.java
+++
b/fineract-core/src/main/java/org/apache/fineract/portfolio/accountdetails/domain/AccountType.java
@@ -18,6 +18,11 @@
*/
package org.apache.fineract.portfolio.accountdetails.domain;
+import java.util.Arrays;
+import java.util.List;
+import org.apache.fineract.infrastructure.core.data.EnumOptionData;
+import
org.apache.fineract.portfolio.accountdetails.service.AccountEnumerations;
+
/**
* Enum representation of account types .
*/
@@ -27,7 +32,8 @@ public enum AccountType {
INDIVIDUAL(1, "accountType.individual"), //
GROUP(2, "accountType.group"), //
JLG(3, "accountType.jlg"), // JLG account given in group context
- GLIM(4, "accountType.glim"), GSIM(5, "accountType.gsim");
+ GLIM(4, "accountType.glim"), //
+ GSIM(5, "accountType.gsim");
private final Integer value;
private final String code;
@@ -71,6 +77,10 @@ public enum AccountType {
return accountType;
}
+ public static List<EnumOptionData> toEnumOptionData() {
+ return
Arrays.stream(values()).sequential().map(AccountEnumerations::loanType).toList();
+ }
+
public Integer getValue() {
return this.value;
}
diff --git
a/fineract-core/src/main/java/org/apache/fineract/portfolio/note/domain/NoteType.java
b/fineract-core/src/main/java/org/apache/fineract/portfolio/note/domain/NoteType.java
index a50c8e660..19710b3bb 100644
---
a/fineract-core/src/main/java/org/apache/fineract/portfolio/note/domain/NoteType.java
+++
b/fineract-core/src/main/java/org/apache/fineract/portfolio/note/domain/NoteType.java
@@ -75,6 +75,14 @@ public enum NoteType {
return BY_API.get(url);
}
+ public static EnumOptionData toEnumOptionData(final Integer id) {
+ return toEnumOptionData(NoteType.fromInt(id));
+ }
+
+ public static EnumOptionData toEnumOptionData(final NoteType noteType) {
+ return noteType == null ? null : noteType.toEnumOptionData();
+ }
+
public EnumOptionData toEnumOptionData() {
return new EnumOptionData(getValue().longValue(), getCode(),
getDescription());
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/EntityDatatableChecksApiResource.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/EntityDatatableChecksApiResource.java
index 0a54f3eb8..649a94d5a 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/EntityDatatableChecksApiResource.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/EntityDatatableChecksApiResource.java
@@ -72,7 +72,7 @@ public class EntityDatatableChecksApiResource {
+ "Example Request:\n" + "\n" +
"entityDatatableChecks?offset=0&limit=15")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "OK", content =
@Content(array = @ArraySchema(schema = @Schema(implementation =
EntityDatatableChecksApiResourceSwagger.GetEntityDatatableChecksResponse.class))))
})
- public String retrieveAll(@Context final UriInfo uriInfo,
@QueryParam("status") @Parameter(description = "status") final Long status,
+ public String retrieveAll(@Context final UriInfo uriInfo,
@QueryParam("status") @Parameter(description = "status") final Integer status,
@QueryParam("entity") @Parameter(description = "entity") final
String entity,
@QueryParam("productId") @Parameter(description = "productId")
final Long productId,
@QueryParam("offset") @Parameter(description = "offset") final
Integer offset,
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/domain/EntityDatatableChecks.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/domain/EntityDatatableChecks.java
index 50aeba4d4..6129dff9c 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/domain/EntityDatatableChecks.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/domain/EntityDatatableChecks.java
@@ -41,7 +41,7 @@ public class EntityDatatableChecks extends
AbstractPersistableCustom<Long> {
private String datatableName;
@Column(name = "status_enum", nullable = false)
- private Long status;
+ private Integer status;
@Column(name = "system_defined")
private boolean systemDefined = false;
@@ -50,29 +50,19 @@ public class EntityDatatableChecks extends
AbstractPersistableCustom<Long> {
private Long productId;
public static EntityDatatableChecks fromJson(final JsonCommand command) {
-
final String entity = command.stringValueOfParameterNamed("entity");
- final Long status = command.longValueOfParameterNamed("status");
+ final Integer status =
command.integerValueSansLocaleOfParameterNamed("status");
final String datatableName =
command.stringValueOfParameterNamed("datatableName");
- boolean systemDefined = false;
- if (command.parameterExists("systemDefined")) {
- systemDefined =
command.booleanObjectValueOfParameterNamed("systemDefined");
- } else {
- systemDefined = false;
- }
-
+ boolean systemDefined =
command.booleanPrimitiveValueOfParameterNamed("systemDefined");
Long productId = null;
if (command.parameterExists("productId")) {
productId = command.longValueOfParameterNamed("productId");
}
-
return new EntityDatatableChecks(entity, datatableName, status,
systemDefined, productId);
-
}
public boolean isSystemDefined() {
return this.systemDefined;
}
-
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/domain/EntityDatatableChecksRepository.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/domain/EntityDatatableChecksRepository.java
index eec7e0eff..28b4b4c87 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/domain/EntityDatatableChecksRepository.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/domain/EntityDatatableChecksRepository.java
@@ -41,20 +41,20 @@ public interface EntityDatatableChecksRepository
@Param("subtype") String subtype);
@Query("select t from EntityDatatableChecks t WHERE t.status =:status and
t.entity=:entity and t.productId = :productId ")
- List<EntityDatatableChecks> findByEntityStatusAndProduct(@Param("entity")
String entity, @Param("status") Long status,
+ List<EntityDatatableChecks> findByEntityStatusAndProduct(@Param("entity")
String entity, @Param("status") Integer status,
@Param("productId") Long productId);
@Query("select t from EntityDatatableChecks t WHERE t.status =:status and
t.entity=:entity and t.productId IS NULL ")
- List<EntityDatatableChecks>
findByEntityStatusAndNoProduct(@Param("entity") String entity, @Param("status")
Long status);
+ List<EntityDatatableChecks>
findByEntityStatusAndNoProduct(@Param("entity") String entity, @Param("status")
Integer status);
@Query("select t from EntityDatatableChecks t WHERE t.status =:status "
+ "and t.entity=:entity and t.datatableName = :datatableName AND
t.productId = :productId")
List<EntityDatatableChecks>
findByEntityStatusAndDatatableIdAndProductId(@Param("entity") String entityName,
- @Param("status") Long status, @Param("datatableName") String
datatableName, @Param("productId") Long productId);
+ @Param("status") Integer status, @Param("datatableName") String
datatableName, @Param("productId") Long productId);
@Query("select t from EntityDatatableChecks t WHERE t.status =:status and
t.entity=:entity "
+ " and t.datatableName = :datatableName AND t.productId IS NULL")
List<EntityDatatableChecks>
findByEntityStatusAndDatatableIdAndNoProduct(@Param("entity") String entityName,
- @Param("status") Long status, @Param("datatableName") String
datatableName);
+ @Param("status") Integer status, @Param("datatableName") String
datatableName);
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/exception/EntityDatatableCheckAlreadyExistsException.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/exception/EntityDatatableCheckAlreadyExistsException.java
index 2b2534dfc..7b1386672 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/exception/EntityDatatableCheckAlreadyExistsException.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/exception/EntityDatatableCheckAlreadyExistsException.java
@@ -25,16 +25,16 @@ import
org.apache.fineract.infrastructure.core.exception.AbstractPlatformDomainR
*/
public class EntityDatatableCheckAlreadyExistsException extends
AbstractPlatformDomainRuleException {
- public EntityDatatableCheckAlreadyExistsException(final String entityName,
final Long status, final String datatableName) {
+ public EntityDatatableCheckAlreadyExistsException(final String entityName,
final Integer status, final String datatable) {
super("error.msg.entityDatatableCheck.duplicate.entry", "the entity
datatable check for status: '" + status
- + "' and datatable name '" + datatableName + "' on entity '" +
entityName + "' already exist", "status", "datatableName",
- "entity", status, datatableName, entityName);
+ + "' and datatable name '" + datatable + "' on entity '" +
entityName + "' already exist", "status", "datatable", "entity",
+ status, datatable, entityName);
}
- public EntityDatatableCheckAlreadyExistsException(final String entityName,
long status, String datatableName, long productId) {
+ public EntityDatatableCheckAlreadyExistsException(final String entityName,
Integer status, String datatable, Long productId) {
super("error.msg.entityDatatableCheck.duplicate.entry",
- "the entity datatable check for status: '" + status + "' and
datatable name '" + datatableName + "' on entity '"
- + entityName + "' and product id '" + productId + "'
already exist",
- "status", "datatableName", "entity", "productId", status,
datatableName, entityName, productId);
+ "the entity datatable check for status: '" + status + "' and
datatable name '" + datatable + "' on entity '" + entityName
+ + "' and product id '" + productId + "' already exist",
+ "status", "datatable", "entity", "productId", status,
datatable, entityName, productId);
}
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadPlatformServiceImpl.java
index 495713c00..1192e74f3 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadPlatformServiceImpl.java
@@ -18,6 +18,7 @@
*/
package org.apache.fineract.infrastructure.dataqueries.service;
+import jakarta.validation.constraints.NotNull;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
@@ -84,11 +85,10 @@ public class EntityDatatableChecksReadPlatformServiceImpl
implements EntityDatat
}
@Override
- public Page<EntityDataTableChecksData> retrieveAll(SearchParameters
searchParameters, final Long status, final String entity,
- final Long productId) {
+ public Page<EntityDataTableChecksData> retrieveAll(@NotNull
SearchParameters searchParameters, final Integer status,
+ final String entity, final Long productId) {
final StringBuilder sqlBuilder = new StringBuilder(200);
- sqlBuilder.append("select " + sqlGenerator.calcFoundRows() + " ");
- sqlBuilder.append(this.entityDataTableChecksMapper.schema());
+ sqlBuilder.append("select
").append(sqlGenerator.calcFoundRows()).append("
").append(this.entityDataTableChecksMapper.schema());
if (status != null || entity != null || productId != null) {
sqlBuilder.append(" where ");
@@ -122,8 +122,7 @@ public class EntityDatatableChecksReadPlatformServiceImpl
implements EntityDatat
}
@Override
- public List<DatatableData> retrieveTemplates(final Long status, final
String entity, final Long productId) {
-
+ public List<DatatableData> retrieveTemplates(final Integer status, final
String entity, final Long productId) {
List<EntityDatatableChecks> tableRequiredBeforeAction = null;
if (productId != null) {
tableRequiredBeforeAction =
this.entityDatatableChecksRepository.findByEntityStatusAndProduct(entity,
status, productId);
@@ -162,7 +161,7 @@ public class EntityDatatableChecksReadPlatformServiceImpl
implements EntityDatat
List<DatatableCheckStatusData> ret = new ArrayList<>();
if (statuses != null) {
for (StatusEnum status : statuses) {
- ret.add(new DatatableCheckStatusData(status.name(),
status.getCode()));
+ ret.add(new DatatableCheckStatusData(status.name(),
status.getValue()));
}
}
return ret;
@@ -196,14 +195,10 @@ public class EntityDatatableChecksReadPlatformServiceImpl
implements EntityDatat
@Override
public EntityDataTableChecksData mapRow(final ResultSet rs,
@SuppressWarnings("unused") final int rowNum) throws SQLException {
-
final Long id = JdbcSupport.getLong(rs, "id");
final String entity = rs.getString("entity");
- final Long status = rs.getLong("status");
- EnumOptionData statusEnum = null;
- if (status != null) {
- statusEnum = StatusEnum.statusTypeEnum(status.intValue());
- }
+ final int status = rs.getInt("status");
+ EnumOptionData statusEnum = StatusEnum.toEnumOptionData(status);
final String datatableName = rs.getString("datatableName");
final boolean systemDefined = rs.getBoolean("systemDefined");
final Long productId = JdbcSupport.getLong(rs, "productId");
@@ -222,5 +217,4 @@ public class EntityDatatableChecksReadPlatformServiceImpl
implements EntityDatat
+ "left join m_savings_product sp on sp.id = t.product_id
and t.application_table_name = 'm_savings_account' ";
}
}
-
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadService.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadService.java
index 1a926e974..89b604e75 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadService.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksReadService.java
@@ -29,8 +29,7 @@ public interface EntityDatatableChecksReadService {
EntityDataTableChecksTemplateData retrieveTemplate();
- List<DatatableData> retrieveTemplates(Long status, String entity, Long
productId);
-
- Page<EntityDataTableChecksData> retrieveAll(SearchParameters
searchParameters, Long status, String entity, Long productLoanId);
+ List<DatatableData> retrieveTemplates(Integer status, String entity, Long
productId);
+ Page<EntityDataTableChecksData> retrieveAll(SearchParameters
searchParameters, Integer status, String entity, Long productId);
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksWritePlatformService.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksWritePlatformService.java
index def42a3b9..d690214c7 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksWritePlatformService.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksWritePlatformService.java
@@ -28,10 +28,10 @@ public interface EntityDatatableChecksWritePlatformService {
CommandProcessingResult deleteCheck(Long entityDatatableCheckId);
- void runTheCheck(Long entityId, String entityName, Integer statusCode,
String foreignKeyColumn, String entitySubtype);
+ void runTheCheck(Long entityId, String entityName, Integer status, String
foreignKeyColumn, String entitySubtype);
- void runTheCheckForProduct(Long entityId, String entityName, Long
statusCode, String foreignKeyColumn, long productLoanId);
+ void runTheCheckForProduct(Long entityId, String entityName, Integer
status, String foreignKeyColumn, long productLoanId);
- boolean saveDatatables(Long status, String entity, Long entityId, Long
productId, JsonArray data);
+ boolean saveDatatables(Integer status, String entity, Long entityId, Long
productId, JsonArray data);
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksWritePlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksWritePlatformServiceImpl.java
index e5bbc6384..99f006da6 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksWritePlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/EntityDatatableChecksWritePlatformServiceImpl.java
@@ -94,9 +94,9 @@ public class EntityDatatableChecksWritePlatformServiceImpl
implements EntityData
}
final Long productId =
command.longValueOfParameterNamed("productId");
- final Long status = command.longValueOfParameterNamed("status");
+ final Integer status =
command.integerValueSansLocaleOfParameterNamed("status");
- List<EntityDatatableChecks> entityDatatableCheck = null;
+ List<EntityDatatableChecks> entityDatatableCheck;
if (productId == null) {
entityDatatableCheck =
this.entityDatatableChecksRepository.findByEntityStatusAndDatatableIdAndNoProduct(entity,
status,
datatableName);
@@ -139,13 +139,13 @@ public class
EntityDatatableChecksWritePlatformServiceImpl implements EntityData
}
@Override
- public void runTheCheck(final Long entityId, final String entityName,
final Integer statusCode, String foreignKeyColumn,
+ public void runTheCheck(final Long entityId, final String entityName,
final Integer status, String foreignKeyColumn,
final String entitySubtype) {
List<EntityDatatableChecks> tableRequiredBeforeClientActivation;
if (entitySubtype == null) {
- tableRequiredBeforeClientActivation =
entityDatatableChecksRepository.findByEntityAndStatus(entityName, statusCode);
+ tableRequiredBeforeClientActivation =
entityDatatableChecksRepository.findByEntityAndStatus(entityName, status);
} else {
- tableRequiredBeforeClientActivation =
entityDatatableChecksRepository.findByEntityAndStatusAndSubtype(entityName,
statusCode,
+ tableRequiredBeforeClientActivation =
entityDatatableChecksRepository.findByEntityAndStatusAndSubtype(entityName,
status,
entitySubtype.toUpperCase());
}
@@ -161,22 +161,21 @@ public class
EntityDatatableChecksWritePlatformServiceImpl implements EntityData
reqDatatables.add(datatableName);
}
}
- if (reqDatatables.size() > 0) {
+ if (!reqDatatables.isEmpty()) {
throw new
DatatableEntryRequiredException(reqDatatables.toString());
}
}
-
}
@Transactional(readOnly = true)
@Override
- public void runTheCheckForProduct(final Long entityId, final String
entityName, final Long statusCode, String foreignKeyColumn,
+ public void runTheCheckForProduct(final Long entityId, final String
entityName, final Integer status, String foreignKeyColumn,
long productId) {
List<EntityDatatableChecks> tableRequiredBeforAction =
entityDatatableChecksRepository.findByEntityStatusAndProduct(entityName,
- statusCode, productId);
+ status, productId);
if (tableRequiredBeforAction == null ||
tableRequiredBeforAction.isEmpty()) {
- tableRequiredBeforAction =
entityDatatableChecksRepository.findByEntityStatusAndNoProduct(entityName,
statusCode);
+ tableRequiredBeforAction =
entityDatatableChecksRepository.findByEntityStatusAndNoProduct(entityName,
status);
}
if (tableRequiredBeforAction != null) {
List<String> reqDatatables = new ArrayList<>();
@@ -194,12 +193,11 @@ public class
EntityDatatableChecksWritePlatformServiceImpl implements EntityData
throw new
DatatableEntryRequiredException(reqDatatables.toString());
}
}
-
}
@Transactional
@Override
- public boolean saveDatatables(final Long status, final String entity,
final Long entityId, final Long productId,
+ public boolean saveDatatables(final Integer status, final String entity,
final Long entityId, final Long productId,
final JsonArray datatableDatas) {
final AppUser user = this.context.authenticatedUser();
boolean isMakerCheckerEnabled = false;
@@ -237,7 +235,6 @@ public class EntityDatatableChecksWritePlatformServiceImpl
implements EntityData
@Transactional
@Override
public CommandProcessingResult deleteCheck(final Long
entityDatatableCheckId) {
-
final EntityDatatableChecks check =
this.entityDatatableChecksRepository.findById(entityDatatableCheckId)
.orElseThrow(() -> new
EntityDatatableChecksNotFoundException(entityDatatableCheckId));
@@ -265,9 +262,9 @@ public class EntityDatatableChecksWritePlatformServiceImpl
implements EntityData
msgArgs = new Object[] { datatableName, dae };
} else if (checkEx.getMessage().contains("unique_entity_check")) {
final String datatableName =
command.stringValueOfParameterNamed("datatableName");
- final long status = command.longValueOfParameterNamed("status");
+ final Integer status =
command.integerValueSansLocaleOfParameterNamed("status");
final String entity =
command.stringValueOfParameterNamed("entity");
- final long productId =
command.longValueOfParameterNamed("productId");
+ final Long productId =
command.longValueOfParameterNamed("productId");
throw new EntityDatatableCheckAlreadyExistsException(entity,
status, datatableName, productId);
} else {
msgCode += ".unknown.data.integrity.issue";
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
index 13906e922..7f747b78e 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientReadPlatformServiceImpl.java
@@ -155,8 +155,8 @@ public class ClientReadPlatformServiceImpl implements
ClientReadPlatformService
final List<EnumOptionData> clientLegalFormOptions =
ClientEnumerations.legalForm(LegalForm.values());
- final List<DatatableData> datatableTemplates =
this.entityDatatableChecksReadService
- .retrieveTemplates(StatusEnum.CREATE.getCode().longValue(),
EntityTables.CLIENT.getName(), null);
+ final List<DatatableData> datatableTemplates =
this.entityDatatableChecksReadService.retrieveTemplates(StatusEnum.CREATE.getValue(),
+ EntityTables.CLIENT.getName(), null);
return ClientData.template(defaultOfficeId,
LocalDate.now(DateUtils.getDateTimeZoneOfTenant()), offices, staffOptions, null,
genderOptions, savingsProductDatas, clientTypeOptions,
clientClassificationOptions, clientNonPersonConstitutionOptions,
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
index 5f9897743..74b53fd87 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
@@ -324,14 +324,13 @@ public class ClientWritePlatformServiceJpaRepositoryImpl
implements ClientWriteP
}
if (command.parameterExists(ClientApiConstants.datatables)) {
-
this.entityDatatableChecksWritePlatformService.saveDatatables(StatusEnum.CREATE.getCode().longValue(),
- EntityTables.CLIENT.getName(), newClient.getId(), null,
-
command.arrayOfParameterNamed(ClientApiConstants.datatables));
+
this.entityDatatableChecksWritePlatformService.saveDatatables(StatusEnum.CREATE.getValue(),
EntityTables.CLIENT.getName(),
+ newClient.getId(), null,
command.arrayOfParameterNamed(ClientApiConstants.datatables));
}
legalForm = LegalForm.fromInt(newClient.getLegalForm());
entityDatatableChecksWritePlatformService.runTheCheck(newClient.getId(),
EntityTables.CLIENT.getName(),
- StatusEnum.CREATE.getCode(),
EntityTables.CLIENT.getForeignKeyColumnNameOnDatatable(), legalForm.getLabel());
+ StatusEnum.CREATE.getValue(),
EntityTables.CLIENT.getForeignKeyColumnNameOnDatatable(), legalForm.getLabel());
businessEventNotifierService.notifyPostBusinessEvent(new
ClientCreateBusinessEvent(newClient));
if (newClient.isActive()) {
businessEventNotifierService.notifyPostBusinessEvent(new
ClientActivateBusinessEvent(newClient));
@@ -856,7 +855,7 @@ public class ClientWritePlatformServiceJpaRepositoryImpl
implements ClientWriteP
closureDate, client.getActivationDate());
}
final LegalForm legalForm =
LegalForm.fromInt(client.getLegalForm());
- entityDatatableChecksWritePlatformService.runTheCheck(clientId,
EntityTables.CLIENT.getName(), StatusEnum.CLOSE.getCode(),
+ entityDatatableChecksWritePlatformService.runTheCheck(clientId,
EntityTables.CLIENT.getName(), StatusEnum.CLOSE.getValue(),
EntityTables.CLIENT.getForeignKeyColumnNameOnDatatable(),
legalForm.getLabel());
final List<Loan> clientLoans =
this.loanRepositoryWrapper.findLoanByClientId(clientId);
@@ -955,7 +954,7 @@ public class ClientWritePlatformServiceJpaRepositoryImpl
implements ClientWriteP
private void runEntityDatatableCheck(final Long clientId, final Integer
legalFormId) {
final LegalForm legalForm = LegalForm.fromInt(legalFormId);
- entityDatatableChecksWritePlatformService.runTheCheck(clientId,
EntityTables.CLIENT.getName(), StatusEnum.ACTIVATE.getCode(),
+ entityDatatableChecksWritePlatformService.runTheCheck(clientId,
EntityTables.CLIENT.getName(), StatusEnum.ACTIVATE.getValue(),
EntityTables.CLIENT.getForeignKeyColumnNameOnDatatable(),
legalForm.getLabel());
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/api/CentersApiResource.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/api/CentersApiResource.java
index 7e4ff0ac3..3c64e7e08 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/api/CentersApiResource.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/api/CentersApiResource.java
@@ -139,8 +139,8 @@ public class CentersApiResource {
}
final CenterData template =
this.centerReadPlatformService.retrieveTemplate(officeId,
staffInSelectedOfficeOnly);
- final List<DatatableData> datatableTemplates =
this.entityDatatableChecksReadService
- .retrieveTemplates(StatusEnum.CREATE.getCode().longValue(),
EntityTables.GROUP.getName(), null);
+ final List<DatatableData> datatableTemplates =
this.entityDatatableChecksReadService.retrieveTemplates(StatusEnum.CREATE.getValue(),
+ EntityTables.GROUP.getName(), null);
template.setDatatables(datatableTemplates);
final ApiRequestJsonSerializationSettings settings =
this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/api/GroupsApiResource.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/api/GroupsApiResource.java
index 82608b0f9..3338dd88f 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/api/GroupsApiResource.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/api/GroupsApiResource.java
@@ -159,8 +159,8 @@ public class GroupsApiResource {
GroupingTypesApiConstants.GROUP_RESPONSE_DATA_PARAMETERS);
}
- final List<DatatableData> datatableTemplates =
entityDatatableChecksReadService
- .retrieveTemplates(StatusEnum.CREATE.getCode().longValue(),
EntityTables.GROUP.getName(), null);
+ final List<DatatableData> datatableTemplates =
entityDatatableChecksReadService.retrieveTemplates(StatusEnum.CREATE.getValue(),
+ EntityTables.GROUP.getName(), null);
if (centerId != null) {
final GroupGeneralData centerGroupTemplate =
centerReadPlatformService.retrieveCenterGroupTemplate(centerId);
centerGroupTemplate.setDatatables(datatableTemplates);
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java
index cda35f7cc..65c1b0584 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java
@@ -200,13 +200,13 @@ public class
GroupingTypesWritePlatformServiceJpaRepositoryImpl implements Group
if (newGroup.isGroup()) {
if
(command.parameterExists(GroupingTypesApiConstants.datatables)) {
-
this.entityDatatableChecksWritePlatformService.saveDatatables(StatusEnum.CREATE.getCode().longValue(),
+
this.entityDatatableChecksWritePlatformService.saveDatatables(StatusEnum.CREATE.getValue(),
EntityTables.GROUP.getName(), newGroup.getId(),
null,
command.arrayOfParameterNamed(GroupingTypesApiConstants.datatables));
}
this.entityDatatableChecksWritePlatformService.runTheCheck(newGroup.getId(),
EntityTables.GROUP.getName(),
- StatusEnum.CREATE.getCode(),
EntityTables.GROUP.getForeignKeyColumnNameOnDatatable(), null);
+ StatusEnum.CREATE.getValue(),
EntityTables.GROUP.getForeignKeyColumnNameOnDatatable(), null);
}
return new CommandProcessingResultBuilder() //
@@ -322,7 +322,7 @@ public class
GroupingTypesWritePlatformServiceJpaRepositoryImpl implements Group
if (!isGroupClientCountValid) {
throw new
GroupMemberCountNotInPermissibleRangeException(group.getId(), minClients,
maxClients);
}
- entityDatatableChecksWritePlatformService.runTheCheck(group.getId(),
EntityTables.GROUP.getName(), StatusEnum.ACTIVATE.getCode(),
+ entityDatatableChecksWritePlatformService.runTheCheck(group.getId(),
EntityTables.GROUP.getName(), StatusEnum.ACTIVATE.getValue(),
EntityTables.GROUP.getForeignKeyColumnNameOnDatatable(), null);
}
@@ -594,7 +594,7 @@ public class
GroupingTypesWritePlatformServiceJpaRepositoryImpl implements Group
validateLoansAndSavingsForGroupOrCenterClose(group, closureDate);
- entityDatatableChecksWritePlatformService.runTheCheck(groupId,
EntityTables.GROUP.getName(), StatusEnum.CLOSE.getCode(),
+ entityDatatableChecksWritePlatformService.runTheCheck(groupId,
EntityTables.GROUP.getName(), StatusEnum.CLOSE.getValue(),
EntityTables.GROUP.getForeignKeyColumnNameOnDatatable(), null);
group.close(currentUser, closureReason, closureDate);
@@ -669,7 +669,7 @@ public class
GroupingTypesWritePlatformServiceJpaRepositoryImpl implements Group
validateLoansAndSavingsForGroupOrCenterClose(center, closureDate);
- entityDatatableChecksWritePlatformService.runTheCheck(centerId,
EntityTables.GROUP.getName(), StatusEnum.ACTIVATE.getCode(),
+ entityDatatableChecksWritePlatformService.runTheCheck(centerId,
EntityTables.GROUP.getName(), StatusEnum.ACTIVATE.getValue(),
EntityTables.GROUP.getForeignKeyColumnNameOnDatatable(), null);
center.close(currentUser, closureReason, closureDate);
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
index 684f458a6..8fd7316cb 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoansApiResource.java
@@ -414,8 +414,8 @@ public class LoansApiResource {
newLoanAccount =
LoanAccountData.associationsAndTemplate(newLoanAccount, productOptions,
allowedLoanOfficers, calendarOptions,
accountLinkingOptions, isRatesEnabled);
}
- final List<DatatableData> datatableTemplates =
this.entityDatatableChecksReadService
- .retrieveTemplates(StatusEnum.CREATE.getCode().longValue(),
EntityTables.LOAN.getName(), productId);
+ final List<DatatableData> datatableTemplates =
this.entityDatatableChecksReadService.retrieveTemplates(StatusEnum.CREATE.getValue(),
+ EntityTables.LOAN.getName(), productId);
newLoanAccount.setDatatables(datatableTemplates);
final ApiRequestJsonSerializationSettings settings =
this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanApplicationValidator.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanApplicationValidator.java
index 0d21be1cc..c908df94a 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanApplicationValidator.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanApplicationValidator.java
@@ -2004,7 +2004,7 @@ public final class LoanApplicationValidator {
}
entityDatatableChecksWritePlatformService.runTheCheckForProduct(loanId,
EntityTables.LOAN.getName(),
- StatusEnum.APPROVE.getCode().longValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
+ StatusEnum.APPROVE.getValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
if (loan.isTopup() && loan.getClientId() != null) {
validateTopupLoan(loan, expectedDisbursementDate);
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java
index b61f03576..783873b20 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanApplicationWritePlatformServiceJpaRepositoryImpl.java
@@ -153,15 +153,14 @@ public class
LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa
createSavingsAccountAssociation(savingsAccountId, loan);
// Save related datatable entries
if (command.parameterExists(LoanApiConstants.datatables)) {
-
this.entityDatatableChecksWritePlatformService.saveDatatables(StatusEnum.CREATE.getCode().longValue(),
- EntityTables.LOAN.getName(), loan.getId(),
loan.productId(),
-
command.arrayOfParameterNamed(LoanApiConstants.datatables));
+
this.entityDatatableChecksWritePlatformService.saveDatatables(StatusEnum.CREATE.getValue(),
EntityTables.LOAN.getName(),
+ loan.getId(), loan.productId(),
command.arrayOfParameterNamed(LoanApiConstants.datatables));
}
// TODO: review whether we really need this
loanRepositoryWrapper.flush();
// Check mandatory datatable entries were created
this.entityDatatableChecksWritePlatformService.runTheCheckForProduct(loan.getId(),
EntityTables.LOAN.getName(),
- StatusEnum.CREATE.getCode().longValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
+ StatusEnum.CREATE.getValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
// Trigger business event
businessEventNotifierService.notifyPostBusinessEvent(new
LoanCreatedBusinessEvent(loan));
// Building response
@@ -691,8 +690,8 @@ public class
LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa
loanApplicationTransitionValidator.validateRejection(command, loan);
// check for mandatory entities
-
entityDatatableChecksWritePlatformService.runTheCheckForProduct(loanId,
EntityTables.LOAN.getName(),
- StatusEnum.REJECTED.getCode().longValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
+
entityDatatableChecksWritePlatformService.runTheCheckForProduct(loanId,
EntityTables.LOAN.getName(), StatusEnum.REJECTED.getValue(),
+ EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(),
loan.productId());
// loan application rejection
final AppUser currentUser = getAppUserIfPresent();
@@ -730,7 +729,7 @@ public class
LoanApplicationWritePlatformServiceJpaRepositoryImpl implements Loa
// check for mandatory entities
entityDatatableChecksWritePlatformService.runTheCheckForProduct(loanId,
EntityTables.LOAN.getName(),
- StatusEnum.WITHDRAWN.getCode().longValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
+ StatusEnum.WITHDRAWN.getValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
// loan application withdrawal
final AppUser currentUser = getAppUserIfPresent();
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java
index 590d66d26..2eaa893db 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java
@@ -362,8 +362,8 @@ public class LoanWritePlatformServiceJpaRepositoryImpl
implements LoanWritePlatf
final LocalDate nextPossibleRepaymentDate =
loan.getNextPossibleRepaymentDateForRescheduling();
final LocalDate rescheduledRepaymentDate =
command.localDateValueOfParameterNamed("adjustRepaymentDate");
-
entityDatatableChecksWritePlatformService.runTheCheckForProduct(loanId,
EntityTables.LOAN.getName(),
- StatusEnum.DISBURSE.getCode().longValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
+
entityDatatableChecksWritePlatformService.runTheCheckForProduct(loanId,
EntityTables.LOAN.getName(), StatusEnum.DISBURSE.getValue(),
+ EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(),
loan.productId());
LocalDate recalculateFrom = null;
if (!loan.isMultiDisburmentLoan()) {
@@ -1786,7 +1786,7 @@ public class LoanWritePlatformServiceJpaRepositoryImpl
implements LoanWritePlatf
}
businessEventNotifierService.notifyPreBusinessEvent(new
LoanWrittenOffPreBusinessEvent(loan));
entityDatatableChecksWritePlatformService.runTheCheckForProduct(loanId,
EntityTables.LOAN.getName(),
- StatusEnum.WRITE_OFF.getCode().longValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
+ StatusEnum.WRITE_OFF.getValue(),
EntityTables.LOAN.getForeignKeyColumnNameOnDatatable(), loan.productId());
removeLoanCycle(loan);
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/api/NotesApiResource.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/api/NotesApiResource.java
index 9c2d17638..27a77f4ef 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/api/NotesApiResource.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/api/NotesApiResource.java
@@ -247,8 +247,6 @@ public class NotesApiResource {
}
default -> resourceNameForPermissions = INVALIDNOTE;
}
-
return
resourceDetails.withEntityName(resourceNameForPermissions).build();
}
-
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteEnumerations.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteEnumerations.java
deleted file mode 100644
index 6661f096e..000000000
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteEnumerations.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.fineract.portfolio.note.service;
-
-import org.apache.fineract.infrastructure.core.data.EnumOptionData;
-import org.apache.fineract.portfolio.note.domain.NoteType;
-
-public final class NoteEnumerations {
-
- private NoteEnumerations() {
-
- }
-
- public static EnumOptionData noteType(final Integer id) {
- return noteType(NoteType.fromInt(id));
- }
-
- public static EnumOptionData noteType(final NoteType type) {
- EnumOptionData optionData = null;
- switch (type) {
- case CLIENT:
- optionData = new EnumOptionData(type.getValue().longValue(),
type.getCode(), "Client note");
- break;
- case LOAN:
- optionData = new EnumOptionData(type.getValue().longValue(),
type.getCode(), "Loan note");
- break;
- case LOAN_TRANSACTION:
- optionData = new EnumOptionData(type.getValue().longValue(),
type.getCode(), "Loan transaction note");
- break;
- case SAVING_ACCOUNT:
- optionData = new EnumOptionData(type.getValue().longValue(),
type.getCode(), "Saving account note");
- break;
- case GROUP:
- optionData = new EnumOptionData(type.getValue().longValue(),
type.getCode(), "Group note");
- break;
- default:
- break;
-
- }
- return optionData;
- }
-
-}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java
index 29bc14226..99217482f 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java
@@ -61,12 +61,8 @@ public class NoteReadPlatformServiceImpl implements
NoteReadPlatformService {
final Long groupId = JdbcSupport.getLong(rs, "groupId");
final Long loanId = JdbcSupport.getLong(rs, "loanId");
final Long transactionId = JdbcSupport.getLong(rs,
"transactionId");
- // final Long depositAccountId = JdbcSupport.getLong(rs,
- // "depositAccountId");
- // final Long savingAccountId = JdbcSupport.getLong(rs,
- // "savingAccountId");
final Integer noteTypeId = JdbcSupport.getInteger(rs,
"noteTypeEnum");
- final EnumOptionData noteType =
NoteEnumerations.noteType(noteTypeId);
+ final EnumOptionData noteType =
NoteType.toEnumOptionData(noteTypeId);
final String note = rs.getString("note");
final OffsetDateTime createdDateLocal =
JdbcSupport.getOffsetDateTime(rs, "createdDate");
final OffsetDateTime createdDateUtc =
JdbcSupport.getOffsetDateTime(rs, "createdDateUtc");
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountReadPlatformServiceImpl.java
index f40ca4251..7480918b3 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountReadPlatformServiceImpl.java
@@ -1154,8 +1154,8 @@ public class SavingsAccountReadPlatformServiceImpl
implements SavingsAccountRead
charges, chargeOptions);
}
- final List<DatatableData> datatableTemplates =
this.entityDatatableChecksReadService
- .retrieveTemplates(StatusEnum.CREATE.getCode().longValue(),
EntityTables.SAVINGS.getName(), productId);
+ final List<DatatableData> datatableTemplates =
this.entityDatatableChecksReadService.retrieveTemplates(StatusEnum.CREATE.getValue(),
+ EntityTables.SAVINGS.getName(), productId);
template.setDatatables(datatableTemplates);
return template;
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java
index bb7aaf80d..76b34916b 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java
@@ -208,7 +208,7 @@ public class
SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi
final Map<String, Object> changes = account.activate(user, command);
entityDatatableChecksWritePlatformService.runTheCheckForProduct(savingsId,
EntityTables.SAVINGS.getName(),
- StatusEnum.ACTIVATE.getCode().longValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(), account.productId());
+ StatusEnum.ACTIVATE.getValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(), account.productId());
if (!changes.isEmpty()) {
final Locale locale = command.extractLocale();
@@ -904,7 +904,7 @@ public class
SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi
}
entityDatatableChecksWritePlatformService.runTheCheckForProduct(savingsId,
EntityTables.SAVINGS.getName(),
- StatusEnum.CLOSE.getCode().longValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(), account.productId());
+ StatusEnum.CLOSE.getValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(), account.productId());
final boolean isWithdrawBalance =
command.booleanPrimitiveValueOfParameterNamed(withdrawBalanceParamName);
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl.java
index 06881b005..2645cfcca 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl.java
@@ -226,13 +226,11 @@ public class
SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl impl
// end of gsim
final Long savingsId = account.getId();
if (command.parameterExists(SavingsApiConstants.datatables)) {
-
this.entityDatatableChecksWritePlatformService.saveDatatables(StatusEnum.CREATE.getCode().longValue(),
- EntityTables.SAVINGS.getName(), savingsId,
account.productId(),
-
command.arrayOfParameterNamed(SavingsApiConstants.datatables));
+
this.entityDatatableChecksWritePlatformService.saveDatatables(StatusEnum.CREATE.getValue(),
EntityTables.SAVINGS.getName(),
+ savingsId, account.productId(),
command.arrayOfParameterNamed(SavingsApiConstants.datatables));
}
this.entityDatatableChecksWritePlatformService.runTheCheckForProduct(savingsId,
EntityTables.SAVINGS.getName(),
- StatusEnum.CREATE.getCode().longValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(),
- account.productId());
+ StatusEnum.CREATE.getValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(), account.productId());
businessEventNotifierService.notifyPostBusinessEvent(new
SavingsCreateBusinessEvent(account));
@@ -447,8 +445,7 @@ public class
SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl impl
checkClientOrGroupActive(savingsAccount);
entityDatatableChecksWritePlatformService.runTheCheckForProduct(savingsId,
EntityTables.SAVINGS.getName(),
- StatusEnum.APPROVE.getCode().longValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(),
- savingsAccount.productId());
+ StatusEnum.APPROVE.getValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(),
savingsAccount.productId());
final Map<String, Object> changes =
savingsAccount.approveApplication(currentUser, command);
if (!changes.isEmpty()) {
@@ -570,8 +567,7 @@ public class
SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl impl
checkClientOrGroupActive(savingsAccount);
entityDatatableChecksWritePlatformService.runTheCheckForProduct(savingsId,
EntityTables.SAVINGS.getName(),
- StatusEnum.REJECTED.getCode().longValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(),
- savingsAccount.productId());
+ StatusEnum.REJECTED.getValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(),
savingsAccount.productId());
final Map<String, Object> changes =
savingsAccount.rejectApplication(currentUser, command);
if (!changes.isEmpty()) {
@@ -607,8 +603,7 @@ public class
SavingsApplicationProcessWritePlatformServiceJpaRepositoryImpl impl
checkClientOrGroupActive(savingsAccount);
entityDatatableChecksWritePlatformService.runTheCheckForProduct(savingsId,
EntityTables.SAVINGS.getName(),
- StatusEnum.WITHDRAWN.getCode().longValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(),
- savingsAccount.productId());
+ StatusEnum.WITHDRAWN.getValue(),
EntityTables.SAVINGS.getForeignKeyColumnNameOnDatatable(),
savingsAccount.productId());
final Map<String, Object> changes =
savingsAccount.applicantWithdrawsFromApplication(currentUser, command);
if (!changes.isEmpty()) {