Skip to content

Commit 2ed023d

Browse files
committed
FINERACT-2408: Add entityStatus mapping for SAVING and SHARE entities in search API
1 parent f5951f1 commit 2ed023d

File tree

3 files changed

+31
-6
lines changed

3 files changed

+31
-6
lines changed

fineract-core/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsEnumerations.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,15 @@ public static SavingsAccountTransactionEnumData transactionType(final SavingsAcc
213213
return optionData;
214214
}
215215

216+
public static EnumOptionData status(final SavingsAccountStatusEnumData status) {
217+
218+
Long id = status.getId();
219+
String code = status.getCode();
220+
String value = status.getValue();
221+
222+
return new EnumOptionData(id, code, value);
223+
}
224+
216225
public static SavingsAccountStatusEnumData status(final Integer statusEnum) {
217226
return status(SavingsAccountStatusType.fromInt(statusEnum));
218227
}

fineract-provider/src/main/java/org/apache/fineract/portfolio/search/service/SearchReadPlatformServiceImpl.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,15 @@
3838
import org.apache.fineract.portfolio.loanproduct.data.LoanProductData;
3939
import org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations;
4040
import org.apache.fineract.portfolio.loanproduct.service.LoanProductReadPlatformService;
41+
import org.apache.fineract.portfolio.savings.data.SavingsAccountStatusEnumData;
4142
import org.apache.fineract.portfolio.savings.service.SavingsEnumerations;
4243
import org.apache.fineract.portfolio.search.SearchConstants;
4344
import org.apache.fineract.portfolio.search.data.AdHocQuerySearchConditions;
4445
import org.apache.fineract.portfolio.search.data.AdHocSearchQueryData;
4546
import org.apache.fineract.portfolio.search.data.SearchConditions;
4647
import org.apache.fineract.portfolio.search.data.SearchData;
48+
import org.apache.fineract.portfolio.shareaccounts.data.ShareAccountStatusEnumData;
49+
import org.apache.fineract.portfolio.shareaccounts.service.SharesEnumerations;
4750
import org.apache.fineract.useradministration.domain.AppUser;
4851
import org.springframework.jdbc.core.RowMapper;
4952
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
@@ -165,16 +168,20 @@ public SearchData mapRow(final ResultSet rs, @SuppressWarnings("unused") final i
165168

166169
if (entityType.equalsIgnoreCase("client") || entityType.equalsIgnoreCase("clientidentifier")) {
167170
entityStatus = ClientEnumerations.status(entityStatusEnum);
168-
}
169-
170-
else if (entityType.equalsIgnoreCase("group") || entityType.equalsIgnoreCase("center")) {
171+
} else if (entityType.equalsIgnoreCase("group") || entityType.equalsIgnoreCase("center")) {
171172
entityStatus = GroupingTypeEnumerations.status(entityStatusEnum);
172-
}
173-
174-
else if (entityType.equalsIgnoreCase("loan")) {
173+
} else if (entityType.equalsIgnoreCase("loan")) {
175174
LoanStatusEnumData loanStatusEnumData = LoanEnumerations.status(entityStatusEnum);
176175

177176
entityStatus = LoanEnumerations.status(loanStatusEnumData);
177+
} else if (entityType.equalsIgnoreCase("saving")) {
178+
SavingsAccountStatusEnumData savingsAccountStatusEnumData = SavingsEnumerations.status(entityStatusEnum);
179+
180+
entityStatus = SavingsEnumerations.status(savingsAccountStatusEnumData);
181+
} else if (entityType.equalsIgnoreCase("share")) {
182+
ShareAccountStatusEnumData shareAccountStatusEnumData = SharesEnumerations.status(entityStatusEnum);
183+
184+
entityStatus = SharesEnumerations.status(shareAccountStatusEnumData);
178185
}
179186

180187
return new SearchData(entityId, entityAccountNo, entityExternalId, entityName, entityType, parentId, parentName, parentType,

fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/service/SharesEnumerations.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,15 @@ private SharesEnumerations() {
3232

3333
}
3434

35+
public static EnumOptionData status(final ShareAccountStatusEnumData status) {
36+
37+
Long id = status.getId();
38+
String code = status.getCode();
39+
String value = status.getValue();
40+
41+
return new EnumOptionData(id, code, value);
42+
}
43+
3544
public static ShareAccountStatusEnumData status(final Integer statusEnum) {
3645
return status(ShareAccountStatusType.fromInt(statusEnum));
3746
}

0 commit comments

Comments
 (0)