diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/api/ClientsApiResource.java b/mifosng-provider/src/main/java/org/mifosng/platform/api/ClientsApiResource.java index a81310c94..df07a6c4f 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/api/ClientsApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/api/ClientsApiResource.java @@ -252,7 +252,7 @@ public class ClientsApiResource { Collection notes = this.clientReadPlatformService.retrieveAllClientNotes(clientId); - return this.apiDataConversionService.convertNoteDataToJson(prettyPrint, responseParameters, notes.toArray(new NoteData[notes.size()])); + return this.apiDataConversionService.convertNoteDataToJson(prettyPrint, responseParameters, notes); } @POST diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiDataConversionService.java b/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiDataConversionService.java index 3b85e6a8b..dce185438 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiDataConversionService.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiDataConversionService.java @@ -1,5 +1,6 @@ package org.mifosng.platform.api.infrastructure; +import java.util.Collection; import java.util.Set; import org.mifosng.platform.api.commands.AdjustLoanTransactionCommand; @@ -63,7 +64,9 @@ public interface ApiDataConversionService { String convertGroupDataToJson(boolean prettyPrint, Set responseParameters, GroupData... groups); - String convertNoteDataToJson(boolean prettyPrint, Set responseParameters, NoteData... notes); + String convertNoteDataToJson(boolean prettyPrint, Set responseParameters, NoteData note); + + String convertNoteDataToJson(boolean prettyPrint, Set responseParameters, Collection notes); String convertLoanProductDataToJson(boolean prettyPrint, Set responseParameters, LoanProductData... products); diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiDataConversionServiceImpl.java b/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiDataConversionServiceImpl.java index ef978aec8..bd1172bcc 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiDataConversionServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/api/infrastructure/ApiDataConversionServiceImpl.java @@ -8,6 +8,7 @@ import java.text.NumberFormat; import java.text.ParseException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Locale; @@ -275,7 +276,18 @@ public class ApiDataConversionServiceImpl implements ApiDataConversionService { } @Override - public String convertNoteDataToJson(final boolean prettyPrint, final Set responseParameters, final NoteData... notes) { + public String convertNoteDataToJson(boolean prettyPrint, Set responseParameters, Collection notes) { + final boolean returnAsArray = true; + return doConvertNoteDataToJson(prettyPrint, returnAsArray, responseParameters, notes.toArray(new NoteData[notes.size()])); + } + + @Override + public String convertNoteDataToJson(final boolean prettyPrint, final Set responseParameters, final NoteData note) { + final boolean returnAsArray = false; + return doConvertNoteDataToJson(prettyPrint, returnAsArray, responseParameters, note); + } + + private String doConvertNoteDataToJson(final boolean prettyPrint, final boolean returnAsArray, final Set responseParameters, final NoteData... notes) { final Set supportedParameters = new HashSet( Arrays.asList("id", "clientId", "loanId", "loanTransactionId", "noteType", "note", "createdById", "createdByUsername", "createdOn", "updatedById", "updatedByUsername", "updatedOn") @@ -303,7 +315,7 @@ public class ApiDataConversionServiceImpl implements ApiDataConversionService { Gson gsonDeserializer = builder.create(); String json = ""; - if (notes != null && notes.length == 1) { + if (notes != null && notes.length == 1 && !returnAsArray) { json = gsonDeserializer.toJson(notes[0]); } else { json = gsonDeserializer.toJson(notes);