From 237d28ba10439b12da29efa81dfde39d24677ecc Mon Sep 17 00:00:00 2001 From: John Woodlock Date: Sun, 27 May 2012 21:16:04 +1000 Subject: [PATCH] WIP filtering loans again --- .../platform/api/LoansApiResource.java | 18 ++++++++------- .../ApiJSONFormattingServiceImpl.java | 22 +++---------------- 2 files changed, 13 insertions(+), 27 deletions(-) diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/api/LoansApiResource.java b/mifosng-provider/src/main/java/org/mifosng/platform/api/LoansApiResource.java index a3d4ec389..194bb6215 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/api/LoansApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/api/LoansApiResource.java @@ -47,6 +47,11 @@ public class LoansApiResource { private String filterName = "myFilter"; private String allowedFieldList = ""; + private String loanFilterName = "loanFilter"; + private String loanAllowedFieldList = ""; + private String loanRepaymentFilterName = "loanRepaymentFilter"; + private String loanRepaymentDefaultFieldList = "date,total"; + private String loanRepaymentAllowedFieldList = ""; @Autowired private LoanReadPlatformService loanReadPlatformService; @@ -91,10 +96,9 @@ public class LoansApiResource { LoanAccountData loanAccount = this.loanReadPlatformService .retrieveLoanAccountDetails(loanId); - String specificFilterName = "loanFilter"; String selectedFields = ""; return this.jsonFormattingService.convertRequest(loanAccount, - specificFilterName, allowedFieldList, selectedFields, + loanFilterName, loanAllowedFieldList, selectedFields, uriInfo.getQueryParameters()); } @@ -285,21 +289,20 @@ public class LoansApiResource { @QueryParam("type") final String transactionType, @Context UriInfo uriInfo) { - String specificFilterName = "loanFilter"; - String selectedFields = ""; + String selectedFields = loanRepaymentDefaultFieldList; if (StringUtils.isNotBlank(transactionType) && transactionType.trim().equalsIgnoreCase("waiver")) { LoanRepaymentData loanWaiverData = this.loanReadPlatformService .retrieveNewLoanWaiverDetails(loanId); return this.jsonFormattingService.convertRequest(loanWaiverData, - specificFilterName, allowedFieldList, selectedFields, + loanRepaymentFilterName, loanRepaymentAllowedFieldList, selectedFields, uriInfo.getQueryParameters()); } LoanRepaymentData loanRepaymentData = this.loanReadPlatformService .retrieveNewLoanRepaymentDetails(loanId); return this.jsonFormattingService.convertRequest(loanRepaymentData, - specificFilterName, allowedFieldList, selectedFields, + loanRepaymentFilterName, loanRepaymentAllowedFieldList, selectedFields, uriInfo.getQueryParameters()); } @@ -315,10 +318,9 @@ public class LoansApiResource { LoanRepaymentData loanRepaymentData = this.loanReadPlatformService .retrieveLoanRepaymentDetails(loanId, repaymentId); - String specificFilterName = "loanFilter"; String selectedFields = ""; return this.jsonFormattingService.convertRequest(loanRepaymentData, - specificFilterName, allowedFieldList, selectedFields, + loanRepaymentFilterName, loanRepaymentAllowedFieldList, selectedFields, uriInfo.getQueryParameters()); } diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiJSONFormattingServiceImpl.java b/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiJSONFormattingServiceImpl.java index 7e2789835..dc5c93733 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiJSONFormattingServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiJSONFormattingServiceImpl.java @@ -144,7 +144,9 @@ public class ApiJSONFormattingServiceImpl implements ApiJSONFormattingService { .serializeAllExcept(loanRepaymentFields)); } - if (filterName.equals("myFilter")) { + if ((filterName.equals("loanRepaymentFilter")) + || (filterName.equals("myFilter")) + || (filterName.equals("permissionFilter"))) { if (filterType.equals("I")) { return new SimpleFilterProvider().addFilter(filterName, @@ -186,24 +188,6 @@ public class ApiJSONFormattingServiceImpl implements ApiJSONFormattingService { .filterOutAllExcept(permissionFields)); } - // ADDED BY KEITH - list permissions didnt seem to be working right. - // added this to avoid adding null filters to object mapper. - if (filterName.equals("permissionFilter")) { - Set permissionFields = new HashSet(); - permissionFields.add("id"); - permissionFields.add("name"); - permissionFields.add("description"); - permissionFields.add("code"); - permissionFields.add("groupType"); - - return new SimpleFilterProvider().addFilter(filterName, - SimpleBeanPropertyFilter.filterOutAllExcept(filterFields)) - .addFilter( - "permissionFilter", - SimpleBeanPropertyFilter - .filterOutAllExcept(permissionFields)); - } - if (filterName.equals("userFilter")) { Set roleFields = new HashSet();