FIXED: MIFOSX-38 - retrieving client notes does not return as an array when only one client note exists.
This commit is contained in:
@@ -252,7 +252,7 @@ public class ClientsApiResource {
|
||||
|
||||
Collection<NoteData> 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
|
||||
|
||||
+4
-1
@@ -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<String> responseParameters, GroupData... groups);
|
||||
|
||||
String convertNoteDataToJson(boolean prettyPrint, Set<String> responseParameters, NoteData... notes);
|
||||
String convertNoteDataToJson(boolean prettyPrint, Set<String> responseParameters, NoteData note);
|
||||
|
||||
String convertNoteDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<NoteData> notes);
|
||||
|
||||
String convertLoanProductDataToJson(boolean prettyPrint, Set<String> responseParameters, LoanProductData... products);
|
||||
|
||||
|
||||
+14
-2
@@ -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<String> responseParameters, final NoteData... notes) {
|
||||
public String convertNoteDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<NoteData> 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<String> 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<String> responseParameters, final NoteData... notes) {
|
||||
final Set<String> supportedParameters = new HashSet<String>(
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user