from MIFOSX-38, tidy up serialization for client and group areas.
This commit is contained in:
@@ -29,6 +29,7 @@ import org.mifosng.platform.api.data.EntityIdentifier;
|
|||||||
import org.mifosng.platform.api.data.NoteData;
|
import org.mifosng.platform.api.data.NoteData;
|
||||||
import org.mifosng.platform.api.data.OfficeLookup;
|
import org.mifosng.platform.api.data.OfficeLookup;
|
||||||
import org.mifosng.platform.api.infrastructure.ApiDataConversionService;
|
import org.mifosng.platform.api.infrastructure.ApiDataConversionService;
|
||||||
|
import org.mifosng.platform.api.infrastructure.ApiJsonSerializerService;
|
||||||
import org.mifosng.platform.api.infrastructure.ApiParameterHelper;
|
import org.mifosng.platform.api.infrastructure.ApiParameterHelper;
|
||||||
import org.mifosng.platform.client.service.ClientReadPlatformService;
|
import org.mifosng.platform.client.service.ClientReadPlatformService;
|
||||||
import org.mifosng.platform.client.service.ClientWritePlatformService;
|
import org.mifosng.platform.client.service.ClientWritePlatformService;
|
||||||
@@ -57,6 +58,9 @@ public class ClientsApiResource {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private OfficeReadPlatformService officeReadPlatformService;
|
private OfficeReadPlatformService officeReadPlatformService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ApiJsonSerializerService apiJsonSerializerService;
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Consumes({MediaType.APPLICATION_JSON})
|
@Consumes({MediaType.APPLICATION_JSON})
|
||||||
@@ -83,7 +87,7 @@ public class ClientsApiResource {
|
|||||||
|
|
||||||
Collection<ClientData> clients = this.clientReadPlatformService.retrieveAllIndividualClients(extraCriteria);
|
Collection<ClientData> clients = this.clientReadPlatformService.retrieveAllIndividualClients(extraCriteria);
|
||||||
|
|
||||||
return this.apiDataConversionService.convertClientDataToJson(prettyPrint, responseParameters, clients.toArray(new ClientData[clients.size()]));
|
return this.apiJsonSerializerService.serializeClientDataToJson(prettyPrint, responseParameters, clients);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getClientCriteria(String sqlSearch, Integer officeId,
|
private String getClientCriteria(String sqlSearch, Integer officeId,
|
||||||
@@ -150,7 +154,7 @@ public class ClientsApiResource {
|
|||||||
responseParameters.add("allowedOffices");
|
responseParameters.add("allowedOffices");
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.apiDataConversionService.convertClientDataToJson(prettyPrint, responseParameters, clientData);
|
return this.apiJsonSerializerService.serializeClientDataToJson(prettyPrint, responseParameters, clientData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@@ -171,7 +175,7 @@ public class ClientsApiResource {
|
|||||||
|
|
||||||
ClientData clientData = this.clientReadPlatformService.retrieveNewClientDetails();
|
ClientData clientData = this.clientReadPlatformService.retrieveNewClientDetails();
|
||||||
|
|
||||||
return this.apiDataConversionService.convertClientDataToJson(prettyPrint, responseParameters, clientData);
|
return this.apiJsonSerializerService.serializeClientDataToJson(prettyPrint, responseParameters, clientData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@@ -230,7 +234,7 @@ public class ClientsApiResource {
|
|||||||
|
|
||||||
ClientLoanAccountSummaryCollectionData clientAccount = this.clientReadPlatformService.retrieveClientAccountDetails(clientId);
|
ClientLoanAccountSummaryCollectionData clientAccount = this.clientReadPlatformService.retrieveClientAccountDetails(clientId);
|
||||||
|
|
||||||
return this.apiDataConversionService.convertClientLoanAccountSummaryCollectionDataToJson(prettyPrint, responseParameters, clientAccount);
|
return this.apiJsonSerializerService.serializeClientLoanAccountSummaryCollectionDataToJson(prettyPrint, responseParameters, clientAccount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import org.mifosng.platform.api.data.ClientLookup;
|
|||||||
import org.mifosng.platform.api.data.EntityIdentifier;
|
import org.mifosng.platform.api.data.EntityIdentifier;
|
||||||
import org.mifosng.platform.api.data.GroupData;
|
import org.mifosng.platform.api.data.GroupData;
|
||||||
import org.mifosng.platform.api.infrastructure.ApiDataConversionService;
|
import org.mifosng.platform.api.infrastructure.ApiDataConversionService;
|
||||||
|
import org.mifosng.platform.api.infrastructure.ApiJsonSerializerService;
|
||||||
import org.mifosng.platform.api.infrastructure.ApiParameterHelper;
|
import org.mifosng.platform.api.infrastructure.ApiParameterHelper;
|
||||||
import org.mifosng.platform.client.service.ClientReadPlatformService;
|
import org.mifosng.platform.client.service.ClientReadPlatformService;
|
||||||
import org.mifosng.platform.group.service.GroupReadPlatformService;
|
import org.mifosng.platform.group.service.GroupReadPlatformService;
|
||||||
@@ -48,13 +49,16 @@ public class GroupsApiResource {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ApiDataConversionService apiDataConversionService;
|
private ApiDataConversionService apiDataConversionService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ApiJsonSerializerService apiJsonSerializerService;
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Consumes({ MediaType.APPLICATION_JSON })
|
@Consumes({ MediaType.APPLICATION_JSON })
|
||||||
@Produces({ MediaType.APPLICATION_JSON })
|
@Produces({ MediaType.APPLICATION_JSON })
|
||||||
public String retrieveAllGroups(@Context final UriInfo uriInfo){
|
public String retrieveAllGroups(@Context final UriInfo uriInfo){
|
||||||
|
|
||||||
Set<String> typicalResponseParameters = new HashSet<String>(
|
Set<String> typicalResponseParameters = new HashSet<String>(
|
||||||
Arrays.asList("id", "name", "externalId", "clientMembers")
|
Arrays.asList("id", "name", "externalId")
|
||||||
);
|
);
|
||||||
|
|
||||||
Set<String> responseParameters = ApiParameterHelper.extractFieldsForResponseIfProvided(uriInfo.getQueryParameters());
|
Set<String> responseParameters = ApiParameterHelper.extractFieldsForResponseIfProvided(uriInfo.getQueryParameters());
|
||||||
@@ -66,11 +70,7 @@ public class GroupsApiResource {
|
|||||||
|
|
||||||
Collection<GroupData> groups = this.groupReadPlatformService.retrieveAllGroups();
|
Collection<GroupData> groups = this.groupReadPlatformService.retrieveAllGroups();
|
||||||
|
|
||||||
for (GroupData group : groups){
|
return this.apiJsonSerializerService.serializeGroupDataToJson(prettyPrint, responseParameters, groups);
|
||||||
group.setClientMembers(this.groupReadPlatformService.retrieveClientMembers(group.getId()));
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.apiDataConversionService.convertGroupDataToJson(prettyPrint, responseParameters, groups.toArray(new GroupData[groups.size()]));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@@ -103,7 +103,7 @@ public class GroupsApiResource {
|
|||||||
responseParameters.add("allowedClients");
|
responseParameters.add("allowedClients");
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.apiDataConversionService.convertGroupDataToJson(prettyPrint, responseParameters, group);
|
return this.apiJsonSerializerService.serializeGroupDataToJson(prettyPrint, responseParameters, group);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@@ -112,7 +112,7 @@ public class GroupsApiResource {
|
|||||||
@Produces({MediaType.APPLICATION_JSON})
|
@Produces({MediaType.APPLICATION_JSON})
|
||||||
public String newGroupDetails(@Context final UriInfo uriInfo) {
|
public String newGroupDetails(@Context final UriInfo uriInfo) {
|
||||||
|
|
||||||
Set<String> typicalResponseParameters = new HashSet<String>(Arrays.asList("id", "name", "externalId", "clientMembers", "allowedClients"));
|
Set<String> typicalResponseParameters = new HashSet<String>(Arrays.asList("id", "name", "externalId", "allowedClients"));
|
||||||
|
|
||||||
Set<String> responseParameters = ApiParameterHelper.extractFieldsForResponseIfProvided(uriInfo.getQueryParameters());
|
Set<String> responseParameters = ApiParameterHelper.extractFieldsForResponseIfProvided(uriInfo.getQueryParameters());
|
||||||
if (responseParameters.isEmpty()) {
|
if (responseParameters.isEmpty()) {
|
||||||
@@ -122,7 +122,7 @@ public class GroupsApiResource {
|
|||||||
|
|
||||||
GroupData groupData = this.groupReadPlatformService.retrieveNewGroupDetails();
|
GroupData groupData = this.groupReadPlatformService.retrieveNewGroupDetails();
|
||||||
|
|
||||||
return this.apiDataConversionService.convertGroupDataToJson(prettyPrint, responseParameters, groupData);
|
return this.apiJsonSerializerService.serializeGroupDataToJson(prettyPrint, responseParameters, groupData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@@ -160,5 +160,4 @@ public class GroupsApiResource {
|
|||||||
|
|
||||||
return Response.ok().entity(entityIdentifier).build();
|
return Response.ok().entity(entityIdentifier).build();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
-10
@@ -22,9 +22,6 @@ import org.mifosng.platform.api.commands.SavingProductCommand;
|
|||||||
import org.mifosng.platform.api.commands.SubmitLoanApplicationCommand;
|
import org.mifosng.platform.api.commands.SubmitLoanApplicationCommand;
|
||||||
import org.mifosng.platform.api.commands.UserCommand;
|
import org.mifosng.platform.api.commands.UserCommand;
|
||||||
import org.mifosng.platform.api.data.ChargeData;
|
import org.mifosng.platform.api.data.ChargeData;
|
||||||
import org.mifosng.platform.api.data.ClientData;
|
|
||||||
import org.mifosng.platform.api.data.ClientLoanAccountSummaryCollectionData;
|
|
||||||
import org.mifosng.platform.api.data.GroupData;
|
|
||||||
import org.mifosng.platform.api.data.LoanAccountData;
|
import org.mifosng.platform.api.data.LoanAccountData;
|
||||||
import org.mifosng.platform.api.data.LoanTransactionData;
|
import org.mifosng.platform.api.data.LoanTransactionData;
|
||||||
import org.mifosng.platform.api.data.NewLoanData;
|
import org.mifosng.platform.api.data.NewLoanData;
|
||||||
@@ -33,13 +30,6 @@ import org.mifosng.platform.api.data.NoteData;
|
|||||||
public interface ApiDataConversionService {
|
public interface ApiDataConversionService {
|
||||||
|
|
||||||
//
|
//
|
||||||
String convertClientDataToJson(boolean prettyPrint, Set<String> responseParameters, ClientData... clients);
|
|
||||||
|
|
||||||
String convertClientLoanAccountSummaryCollectionDataToJson(boolean prettyPrint, Set<String> responseParameters,
|
|
||||||
ClientLoanAccountSummaryCollectionData clientAccountsData);
|
|
||||||
|
|
||||||
String convertGroupDataToJson(boolean prettyPrint, Set<String> responseParameters, GroupData... groups);
|
|
||||||
|
|
||||||
String convertNoteDataToJson(boolean prettyPrint, Set<String> responseParameters, NoteData note);
|
String convertNoteDataToJson(boolean prettyPrint, Set<String> responseParameters, NoteData note);
|
||||||
|
|
||||||
String convertNoteDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<NoteData> notes);
|
String convertNoteDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<NoteData> notes);
|
||||||
|
|||||||
-104
@@ -39,9 +39,6 @@ import org.mifosng.platform.api.commands.SubmitLoanApplicationCommand;
|
|||||||
import org.mifosng.platform.api.commands.UserCommand;
|
import org.mifosng.platform.api.commands.UserCommand;
|
||||||
import org.mifosng.platform.api.data.ApiParameterError;
|
import org.mifosng.platform.api.data.ApiParameterError;
|
||||||
import org.mifosng.platform.api.data.ChargeData;
|
import org.mifosng.platform.api.data.ChargeData;
|
||||||
import org.mifosng.platform.api.data.ClientData;
|
|
||||||
import org.mifosng.platform.api.data.ClientLoanAccountSummaryCollectionData;
|
|
||||||
import org.mifosng.platform.api.data.GroupData;
|
|
||||||
import org.mifosng.platform.api.data.LoanAccountData;
|
import org.mifosng.platform.api.data.LoanAccountData;
|
||||||
import org.mifosng.platform.api.data.LoanTransactionData;
|
import org.mifosng.platform.api.data.LoanTransactionData;
|
||||||
import org.mifosng.platform.api.data.NewLoanData;
|
import org.mifosng.platform.api.data.NewLoanData;
|
||||||
@@ -225,107 +222,6 @@ public class ApiDataConversionServiceImpl implements ApiDataConversionService {
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String convertClientLoanAccountSummaryCollectionDataToJson(final boolean prettyPrint, final Set<String> responseParameters,
|
|
||||||
final ClientLoanAccountSummaryCollectionData clientAccountsData) {
|
|
||||||
final Set<String> supportedParameters = new HashSet<String>(
|
|
||||||
Arrays.asList("pendingApprovalLoans", "awaitingDisbursalLoans", "openLoans", "closedLoans",
|
|
||||||
"anyLoanCount", "pendingApprovalLoanCount", "awaitingDisbursalLoanCount", "activeLoanCount", "closedLoanCount")
|
|
||||||
);
|
|
||||||
|
|
||||||
final Set<String> parameterNamesToSkip = new HashSet<String>();
|
|
||||||
|
|
||||||
if (!responseParameters.isEmpty()) {
|
|
||||||
if (!supportedParameters.containsAll(responseParameters)) {
|
|
||||||
throw new UnsupportedParameterException(new ArrayList<String>(responseParameters));
|
|
||||||
}
|
|
||||||
|
|
||||||
parameterNamesToSkip.addAll(supportedParameters);
|
|
||||||
parameterNamesToSkip.removeAll(responseParameters);
|
|
||||||
}
|
|
||||||
|
|
||||||
ExclusionStrategy strategy = new ParameterListExclusionStrategy(parameterNamesToSkip);
|
|
||||||
|
|
||||||
GsonBuilder builder = new GsonBuilder().addSerializationExclusionStrategy(strategy);
|
|
||||||
builder.registerTypeAdapter(LocalDate.class, new JodaLocalDateAdapter());
|
|
||||||
if (prettyPrint) {
|
|
||||||
builder.setPrettyPrinting();
|
|
||||||
}
|
|
||||||
Gson gsonDeserializer = builder.create();
|
|
||||||
|
|
||||||
return gsonDeserializer.toJson(clientAccountsData);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String convertClientDataToJson(final boolean prettyPrint, final Set<String> responseParameters, final ClientData... clients) {
|
|
||||||
final Set<String> supportedParameters = new HashSet<String>(
|
|
||||||
Arrays.asList("id", "officeId", "officeName", "externalId", "firstname", "lastname", "joinedDate", "displayName", "allowedOffices")
|
|
||||||
);
|
|
||||||
|
|
||||||
final Set<String> parameterNamesToSkip = new HashSet<String>();
|
|
||||||
|
|
||||||
if (!responseParameters.isEmpty()) {
|
|
||||||
if (!supportedParameters.containsAll(responseParameters)) {
|
|
||||||
throw new UnsupportedParameterException(new ArrayList<String>(responseParameters));
|
|
||||||
}
|
|
||||||
|
|
||||||
parameterNamesToSkip.addAll(supportedParameters);
|
|
||||||
parameterNamesToSkip.removeAll(responseParameters);
|
|
||||||
}
|
|
||||||
|
|
||||||
ExclusionStrategy strategy = new ParameterListExclusionStrategy(parameterNamesToSkip);
|
|
||||||
|
|
||||||
GsonBuilder builder = new GsonBuilder().addSerializationExclusionStrategy(strategy);
|
|
||||||
builder.registerTypeAdapter(LocalDate.class, new JodaLocalDateAdapter());
|
|
||||||
if (prettyPrint) {
|
|
||||||
builder.setPrettyPrinting();
|
|
||||||
}
|
|
||||||
Gson gsonDeserializer = builder.create();
|
|
||||||
|
|
||||||
String json = "";
|
|
||||||
if (clients != null && clients.length == 1) {
|
|
||||||
json = gsonDeserializer.toJson(clients[0]);
|
|
||||||
} else {
|
|
||||||
json = gsonDeserializer.toJson(clients);
|
|
||||||
}
|
|
||||||
|
|
||||||
return json;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String convertGroupDataToJson(boolean prettyPrint, Set<String> responseParameters, GroupData... groups) {
|
|
||||||
final Set<String> supportedParameters = new HashSet<String>(
|
|
||||||
Arrays.asList("id", "name", "externalId", "clientMembers", "allowedClients")
|
|
||||||
);
|
|
||||||
|
|
||||||
final Set<String> parameterNamesToSkip = new HashSet<String>();
|
|
||||||
|
|
||||||
if (!responseParameters.isEmpty()) {
|
|
||||||
if (!supportedParameters.containsAll(responseParameters)) {
|
|
||||||
throw new UnsupportedParameterException(new ArrayList<String>(responseParameters));
|
|
||||||
}
|
|
||||||
|
|
||||||
parameterNamesToSkip.addAll(supportedParameters);
|
|
||||||
parameterNamesToSkip.removeAll(responseParameters);
|
|
||||||
}
|
|
||||||
|
|
||||||
ExclusionStrategy strategy = new ParameterListExclusionStrategy(parameterNamesToSkip);
|
|
||||||
GsonBuilder builder = new GsonBuilder().addSerializationExclusionStrategy(strategy);
|
|
||||||
if (prettyPrint) {
|
|
||||||
builder.setPrettyPrinting();
|
|
||||||
}
|
|
||||||
Gson gsonDeserializer = builder.create();
|
|
||||||
String json = "";
|
|
||||||
|
|
||||||
if (groups != null && groups.length == 1) {
|
|
||||||
json = gsonDeserializer.toJson(groups[0]);
|
|
||||||
} else {
|
|
||||||
json = gsonDeserializer.toJson(groups);
|
|
||||||
}
|
|
||||||
|
|
||||||
return json;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ChargeCommand convertJsonToChargeCommand(Long resourceIdentifier, String json) {
|
public ChargeCommand convertJsonToChargeCommand(Long resourceIdentifier, String json) {
|
||||||
if (StringUtils.isBlank(json)) {
|
if (StringUtils.isBlank(json)) {
|
||||||
|
|||||||
+13
@@ -6,11 +6,14 @@ import java.util.Set;
|
|||||||
import org.mifosng.platform.api.data.AdditionalFieldsSetData;
|
import org.mifosng.platform.api.data.AdditionalFieldsSetData;
|
||||||
import org.mifosng.platform.api.data.AppUserData;
|
import org.mifosng.platform.api.data.AppUserData;
|
||||||
import org.mifosng.platform.api.data.AuthenticatedUserData;
|
import org.mifosng.platform.api.data.AuthenticatedUserData;
|
||||||
|
import org.mifosng.platform.api.data.ClientData;
|
||||||
|
import org.mifosng.platform.api.data.ClientLoanAccountSummaryCollectionData;
|
||||||
import org.mifosng.platform.api.data.ConfigurationData;
|
import org.mifosng.platform.api.data.ConfigurationData;
|
||||||
import org.mifosng.platform.api.data.DepositAccountData;
|
import org.mifosng.platform.api.data.DepositAccountData;
|
||||||
import org.mifosng.platform.api.data.DepositProductData;
|
import org.mifosng.platform.api.data.DepositProductData;
|
||||||
import org.mifosng.platform.api.data.FundData;
|
import org.mifosng.platform.api.data.FundData;
|
||||||
import org.mifosng.platform.api.data.GenericResultsetData;
|
import org.mifosng.platform.api.data.GenericResultsetData;
|
||||||
|
import org.mifosng.platform.api.data.GroupData;
|
||||||
import org.mifosng.platform.api.data.LoanProductData;
|
import org.mifosng.platform.api.data.LoanProductData;
|
||||||
import org.mifosng.platform.api.data.OfficeData;
|
import org.mifosng.platform.api.data.OfficeData;
|
||||||
import org.mifosng.platform.api.data.OfficeTransactionData;
|
import org.mifosng.platform.api.data.OfficeTransactionData;
|
||||||
@@ -63,4 +66,14 @@ public interface ApiJsonSerializerService {
|
|||||||
String serializeDepositAccountDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<DepositAccountData> accounts);
|
String serializeDepositAccountDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<DepositAccountData> accounts);
|
||||||
|
|
||||||
String serializeDepositAccountDataToJson(boolean prettyPrint, Set<String> responseParameters, DepositAccountData account);
|
String serializeDepositAccountDataToJson(boolean prettyPrint, Set<String> responseParameters, DepositAccountData account);
|
||||||
|
|
||||||
|
String serializeClientDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<ClientData> clients);
|
||||||
|
|
||||||
|
String serializeClientDataToJson(boolean prettyPrint, Set<String> responseParameters, ClientData clientData);
|
||||||
|
|
||||||
|
String serializeClientLoanAccountSummaryCollectionDataToJson(boolean prettyPrint, Set<String> responseParameters, ClientLoanAccountSummaryCollectionData clientAccount);
|
||||||
|
|
||||||
|
String serializeGroupDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<GroupData> groups);
|
||||||
|
|
||||||
|
String serializeGroupDataToJson(boolean prettyPrint, Set<String> responseParameters, GroupData group);
|
||||||
}
|
}
|
||||||
+48
@@ -8,11 +8,14 @@ import java.util.Set;
|
|||||||
import org.mifosng.platform.api.data.AdditionalFieldsSetData;
|
import org.mifosng.platform.api.data.AdditionalFieldsSetData;
|
||||||
import org.mifosng.platform.api.data.AppUserData;
|
import org.mifosng.platform.api.data.AppUserData;
|
||||||
import org.mifosng.platform.api.data.AuthenticatedUserData;
|
import org.mifosng.platform.api.data.AuthenticatedUserData;
|
||||||
|
import org.mifosng.platform.api.data.ClientData;
|
||||||
|
import org.mifosng.platform.api.data.ClientLoanAccountSummaryCollectionData;
|
||||||
import org.mifosng.platform.api.data.ConfigurationData;
|
import org.mifosng.platform.api.data.ConfigurationData;
|
||||||
import org.mifosng.platform.api.data.DepositAccountData;
|
import org.mifosng.platform.api.data.DepositAccountData;
|
||||||
import org.mifosng.platform.api.data.DepositProductData;
|
import org.mifosng.platform.api.data.DepositProductData;
|
||||||
import org.mifosng.platform.api.data.FundData;
|
import org.mifosng.platform.api.data.FundData;
|
||||||
import org.mifosng.platform.api.data.GenericResultsetData;
|
import org.mifosng.platform.api.data.GenericResultsetData;
|
||||||
|
import org.mifosng.platform.api.data.GroupData;
|
||||||
import org.mifosng.platform.api.data.LoanProductData;
|
import org.mifosng.platform.api.data.LoanProductData;
|
||||||
import org.mifosng.platform.api.data.OfficeData;
|
import org.mifosng.platform.api.data.OfficeData;
|
||||||
import org.mifosng.platform.api.data.OfficeTransactionData;
|
import org.mifosng.platform.api.data.OfficeTransactionData;
|
||||||
@@ -76,6 +79,20 @@ public class GoogleGsonApiJsonSerializerService implements ApiJsonSerializerServ
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
private static final Set<String> CLIENT_DATA_PARAMETERS = new HashSet<String>(
|
||||||
|
Arrays.asList("id", "officeId", "officeName", "externalId", "firstname", "lastname", "joinedDate", "displayName", "allowedOffices")
|
||||||
|
);
|
||||||
|
|
||||||
|
private static final Set<String> CLIENT_ACCOUNTS_DATA_PARAMETERS = new HashSet<String>(
|
||||||
|
Arrays.asList("pendingApprovalLoans", "awaitingDisbursalLoans", "openLoans", "closedLoans",
|
||||||
|
"anyLoanCount", "pendingApprovalLoanCount", "awaitingDisbursalLoanCount", "activeLoanCount", "closedLoanCount")
|
||||||
|
);
|
||||||
|
|
||||||
|
private static final Set<String> GROUP_DATA_PARAMETERS = new HashSet<String>(
|
||||||
|
Arrays.asList("id", "name", "externalId", "clientMembers", "allowedClients")
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
private final GoogleGsonSerializerHelper helper;
|
private final GoogleGsonSerializerHelper helper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -214,4 +231,35 @@ public class GoogleGsonApiJsonSerializerService implements ApiJsonSerializerServ
|
|||||||
final Gson gsonDeserializer = helper.createGsonBuilderWithParameterExclusionSerializationStrategy(SAVINGS_DEPOSIT_ACCOUNT_DATA_PARAMETERS, prettyPrint, responseParameters);
|
final Gson gsonDeserializer = helper.createGsonBuilderWithParameterExclusionSerializationStrategy(SAVINGS_DEPOSIT_ACCOUNT_DATA_PARAMETERS, prettyPrint, responseParameters);
|
||||||
return helper.serializedJsonFrom(gsonDeserializer, account);
|
return helper.serializedJsonFrom(gsonDeserializer, account);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String serializeClientDataToJson(final boolean prettyPrint, final Set<String> responseParameters, final Collection<ClientData> clients) {
|
||||||
|
final Gson gsonDeserializer = helper.createGsonBuilderWithParameterExclusionSerializationStrategy(CLIENT_DATA_PARAMETERS, prettyPrint, responseParameters);
|
||||||
|
return helper.serializedJsonFrom(gsonDeserializer, clients.toArray(new ClientData[clients.size()]));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String serializeClientDataToJson(final boolean prettyPrint, final Set<String> responseParameters, final ClientData client) {
|
||||||
|
final Gson gsonDeserializer = helper.createGsonBuilderWithParameterExclusionSerializationStrategy(CLIENT_DATA_PARAMETERS, prettyPrint, responseParameters);
|
||||||
|
return helper.serializedJsonFrom(gsonDeserializer, client);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String serializeClientLoanAccountSummaryCollectionDataToJson(final boolean prettyPrint, final Set<String> responseParameters,
|
||||||
|
final ClientLoanAccountSummaryCollectionData clientAccount) {
|
||||||
|
final Gson gsonDeserializer = helper.createGsonBuilderWithParameterExclusionSerializationStrategy(CLIENT_ACCOUNTS_DATA_PARAMETERS, prettyPrint, responseParameters);
|
||||||
|
return helper.serializedJsonFrom(gsonDeserializer, clientAccount);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String serializeGroupDataToJson(final boolean prettyPrint, final Set<String> responseParameters, final Collection<GroupData> groups) {
|
||||||
|
final Gson gsonDeserializer = helper.createGsonBuilderWithParameterExclusionSerializationStrategy(GROUP_DATA_PARAMETERS, prettyPrint, responseParameters);
|
||||||
|
return helper.serializedJsonFrom(gsonDeserializer, groups.toArray(new GroupData[groups.size()]));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String serializeGroupDataToJson(final boolean prettyPrint, final Set<String> responseParameters, final GroupData group) {
|
||||||
|
final Gson gsonDeserializer = helper.createGsonBuilderWithParameterExclusionSerializationStrategy(GROUP_DATA_PARAMETERS, prettyPrint, responseParameters);
|
||||||
|
return helper.serializedJsonFrom(gsonDeserializer, group);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user