|
Lines 77-94
public class JsonObjectInArrayBuilderTestCases extends OXTestCase {
Link Here
|
| 77 |
|
77 |
|
| 78 |
StringWriter sw = new StringWriter(); |
78 |
StringWriter sw = new StringWriter(); |
| 79 |
JsonGenerator jsonGenerator = Json.createGenerator(sw); |
79 |
JsonGenerator jsonGenerator = Json.createGenerator(sw); |
|
|
80 |
|
| 81 |
JsonGenerator arrayGenerator = jsonGenerator.writeStartArray(); |
| 80 |
JsonGeneratorResult result = new JsonGeneratorResult(jsonGenerator); |
82 |
JsonGeneratorResult result = new JsonGeneratorResult(jsonGenerator); |
| 81 |
|
83 |
|
| 82 |
WithoutXmlRootElementRoot foo = new WithoutXmlRootElementRoot(); |
84 |
WithoutXmlRootElementRoot foo = new WithoutXmlRootElementRoot(); |
| 83 |
foo.setName("FOO"); |
85 |
foo.setName("FOO"); |
|
|
86 |
jsonMarshaller.marshal(foo, result); |
| 84 |
|
87 |
|
| 85 |
WithoutXmlRootElementRoot foo2 = new WithoutXmlRootElementRoot(); |
88 |
WithoutXmlRootElementRoot foo2 = new WithoutXmlRootElementRoot(); |
| 86 |
foo2.setName("FOO2"); |
89 |
foo2.setName("FOO2"); |
| 87 |
|
90 |
jsonMarshaller.marshal(foo2, result); |
| 88 |
List<WithoutXmlRootElementRoot> things = new ArrayList<WithoutXmlRootElementRoot>(); |
91 |
|
| 89 |
things.add(foo); |
92 |
jsonGenerator.writeEnd(); |
| 90 |
things.add(foo2); |
|
|
| 91 |
jsonMarshaller.marshal(things, result); |
| 92 |
jsonGenerator.flush(); |
93 |
jsonGenerator.flush(); |
| 93 |
|
94 |
|
| 94 |
log(sw.toString()); |
95 |
log(sw.toString()); |
|
Lines 126-130
public class JsonObjectInArrayBuilderTestCases extends OXTestCase {
Link Here
|
| 126 |
assertEquals(controlString, sw.toString()); |
127 |
assertEquals(controlString, sw.toString()); |
| 127 |
} |
128 |
} |
| 128 |
|
129 |
|
|
|
130 |
public void testNestedResults() throws Exception{ |
| 131 |
JAXBContext ctx = JAXBContextFactory.createContext(new Class[]{WithXmlRootElementRoot.class}, null); |
| 132 |
Marshaller jsonMarshaller = ctx.createMarshaller(); |
| 133 |
jsonMarshaller.setProperty(MarshallerProperties.MEDIA_TYPE, MediaType.APPLICATION_JSON); |
| 134 |
jsonMarshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, false); |
| 135 |
|
| 136 |
StringWriter sw = new StringWriter(); |
| 137 |
|
| 138 |
|
| 139 |
WithXmlRootElementRoot foo = new WithXmlRootElementRoot(); |
| 140 |
foo.setName("FOO"); |
| 141 |
|
| 142 |
WithXmlRootElementRoot foo2 = new WithXmlRootElementRoot(); |
| 143 |
foo2.setName("FOO2"); |
| 144 |
|
| 145 |
List<WithXmlRootElementRoot> foos = new ArrayList<WithXmlRootElementRoot>(); |
| 146 |
foos.add(foo); |
| 147 |
foos.add(foo2); |
| 148 |
|
| 149 |
JsonGenerator generator = Json.createGenerator(sw); |
| 150 |
JsonGenerator arrayGenerator = generator.writeStartObject(); |
| 151 |
JsonGeneratorResult nestedResult = new JsonGeneratorResult(arrayGenerator,"foosList"); |
| 152 |
jsonMarshaller.marshal(foos, nestedResult); |
| 153 |
|
| 154 |
JsonGeneratorResult nestedSingleResult = new JsonGeneratorResult(generator,"singleThing"); |
| 155 |
jsonMarshaller.marshal(foo, nestedSingleResult); |
| 156 |
|
| 157 |
generator.writeEnd(); //end root object |
| 158 |
generator.flush(); |
| 159 |
|
| 160 |
log(sw.toString()); |
| 161 |
String controlString = "{\"foosList\":[{\"name\":\"FOO\"},{\"name\":\"FOO2\"}],\"singleThing\":{\"name\":\"FOO\"}}"; |
| 162 |
|
| 163 |
assertEquals(controlString, sw.toString()); |
| 164 |
} |
| 165 |
|
| 129 |
|
166 |
|
| 130 |
} |
167 |
} |