use of com.zimbra.soap.jaxb.WrappedKeyValuePairsTester in project zm-mailbox by Zimbra.
the class JaxbToJsonTest method wrappedZimbraKeyValuePairsAnnotation.
/**
* Desired JSON :
* {
* "wrapper": {
* "_attrs": {
* "key1": "value1",
* "key2": "value2"
* }
* },
* "_jsns": "urn:zimbraTest"
* }
*/
@Test
public void wrappedZimbraKeyValuePairsAnnotation() throws Exception {
Element jsonElem = JSONElement.mFactory.createElement(QName.get("key-value-pairs", "urn:zimbraTest"));
Element wrapperElem = jsonElem.addUniqueElement("wrapper");
wrapperElem.addKeyValuePair("key1", "value1");
wrapperElem.addKeyValuePair("key2", "value2");
List<KeyValuePair> attrs = Lists.newArrayList();
attrs.add(new KeyValuePair("key1", "value1"));
attrs.add(new KeyValuePair("key2", "value2"));
WrappedKeyValuePairsTester jaxb = new WrappedKeyValuePairsTester(attrs);
Element jsonJaxbElem = JacksonUtil.jaxbToJSONElement(jaxb);
logDebug("JSONElement (for comparison) ---> prettyPrint\n%1$s", jsonElem.prettyPrint());
logDebug("JSONElement from JAXB ---> prettyPrint\n%1$s", jsonJaxbElem.prettyPrint());
Assert.assertEquals("prettyPrint", jsonElem.prettyPrint(), jsonJaxbElem.prettyPrint());
WrappedKeyValuePairsTester roundtripped = JaxbUtil.elementToJaxb(jsonJaxbElem, WrappedKeyValuePairsTester.class);
List<com.zimbra.common.soap.Element.KeyValuePair> elemKVPs = jsonJaxbElem.getElement("wrapper").listKeyValuePairs();
Assert.assertEquals("elemKVP num", 2, elemKVPs.size());
List<KeyValuePair> kvps = roundtripped.getAttrList();
Assert.assertEquals("roundtripped kvps num", 2, kvps.size());
}
Aggregations