|
30 | 30 | import org.labkey.api.action.SpringActionController; |
31 | 31 | import org.labkey.api.attachments.FileAttachmentFile; |
32 | 32 | import org.labkey.api.audit.TransactionAuditProvider; |
| 33 | +import org.labkey.api.collections.LabKeyCollectors; |
33 | 34 | import org.labkey.api.data.Container; |
34 | 35 | import org.labkey.api.data.DbSchema; |
35 | 36 | import org.labkey.api.data.DbScope; |
|
56 | 57 | import org.labkey.api.util.CPUTimer; |
57 | 58 | import org.labkey.api.util.FileStream; |
58 | 59 | import org.labkey.api.util.FileUtil; |
| 60 | +import org.labkey.api.util.JsonUtil; |
59 | 61 | import org.labkey.api.util.PageFlowUtil; |
60 | 62 | import org.labkey.api.util.Pair; |
61 | 63 | import org.labkey.api.util.Path; |
|
76 | 78 | import java.io.IOException; |
77 | 79 | import java.sql.SQLException; |
78 | 80 | import java.util.ArrayList; |
| 81 | +import java.util.Collection; |
79 | 82 | import java.util.HashMap; |
80 | 83 | import java.util.List; |
81 | 84 | import java.util.Map; |
@@ -761,6 +764,14 @@ protected JSONObject createSuccessResponse(int rowCount) |
761 | 764 | return response; |
762 | 765 | } |
763 | 766 |
|
| 767 | + public static JSONArray prepareRowsResponse(@NotNull Collection<Map<String, Object>> rows) |
| 768 | + { |
| 769 | + return rows.stream() |
| 770 | + .map(JsonUtil::toMapPreserveNonFinite) |
| 771 | + .map(JsonUtil::toJsonPreserveNulls) |
| 772 | + .collect(LabKeyCollectors.toJSONArray()); |
| 773 | + } |
| 774 | + |
764 | 775 | @Override |
765 | 776 | protected ApiResponseWriter createResponseWriter() throws IOException |
766 | 777 | { |
|
0 commit comments