|
12 | 12 | * information: "Portions copyright [year] [name of copyright owner]". |
13 | 13 | * |
14 | 14 | * Copyright 2012-2016 ForgeRock AS. |
| 15 | + * Portions copyright 2020-2024 3A Systems, LLC |
15 | 16 | */ |
16 | 17 |
|
17 | 18 | package org.forgerock.json.resource.http; |
|
42 | 43 | import static org.forgerock.util.promise.Promises.newResultPromise; |
43 | 44 |
|
44 | 45 | import java.io.IOException; |
| 46 | +import java.util.Arrays; |
45 | 47 | import java.util.List; |
46 | 48 | import java.util.Map; |
47 | 49 | import java.util.concurrent.atomic.AtomicBoolean; |
@@ -513,12 +515,17 @@ private void writeResourceJsonContent(final ResourceResponse resource) |
513 | 515 | } |
514 | 516 | } |
515 | 517 |
|
516 | | - for (Map.Entry<String, Object> property : content.asMap().entrySet()) { |
517 | | - final String key = property.getKey(); |
518 | | - if (!FIELD_CONTENT_ID.equals(key) && !FIELD_CONTENT_REVISION.equals(key)) { |
519 | | - jsonGenerator.writeFieldName(key); |
520 | | - objectWriter.writeValue(jsonGenerator, property.getValue()); |
| 518 | + if (content.isMap()) { |
| 519 | + for (Map.Entry<String, Object> property : content.asMap().entrySet()) { |
| 520 | + final String key = property.getKey(); |
| 521 | + if (!FIELD_CONTENT_ID.equals(key) && !FIELD_CONTENT_REVISION.equals(key)) { |
| 522 | + jsonGenerator.writeFieldName(key); |
| 523 | + objectWriter.writeValue(jsonGenerator, property.getValue()); |
| 524 | + } |
521 | 525 | } |
| 526 | + }else { |
| 527 | + jsonGenerator.writeFieldName("content"); |
| 528 | + objectWriter.writeValue(jsonGenerator, Arrays.asList(new String[]{content.asString()})); |
522 | 529 | } |
523 | 530 | jsonGenerator.writeEndObject(); |
524 | 531 | } else { |
|
0 commit comments