Aligning JSON marshalled output for Properties similar to the XML counterpart. 83/1283/1
authorMadhu Venugopal <vmadhu@cisco.com>
Thu, 19 Sep 2013 05:06:45 +0000 (22:06 -0700)
committerMadhu Venugopal <vmadhu@cisco.com>
Thu, 19 Sep 2013 05:06:45 +0000 (22:06 -0700)
commitd6e53ad44b9cc58637864e455aad13d468eeff80
tree0775426fcbc24e1090adceadf42201fa9b27e04a
parentd55be919b8416596eb27856f983e2dc953c2877d
Aligning JSON marshalled output for Properties similar to the XML counterpart.

After the Jackson migration (https://git.opendaylight.org/gerrit/#/c/1131), the marshalled JSON output
got misaligned from its XML counterpart. This is because of the "special" handling of XmlElementRef by
Jettison.
Please refer to http://pastebin.com/6kCSuddg for various marshalled JSON output for Jettison, Jackson and Moxy.

Having tried & exhausted various mechanisms (using Jackson and Moxy), finally decided to use the Jackson
annotations to take care of this requirement. Changes involves :

1. Modified NodeConnectProperties, EdgProperties and NodeProperties to use @JsonIgnore and @JsonProperty
2. Reverted a few NorthboundIT changes as prior to the gerrit#1131 version to align to the JSON format.
3. Added @XmlAccessorType(XmlAccessType.NONE) in all the Property classes to avoid including unnecessary data.

Change-Id: I574956328fa841b2165e0c10ddec995c70b76e4d
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
23 files changed:
opendaylight/northbound/integrationtest/src/test/java/org/opendaylight/controller/northbound/integrationtest/NorthboundIT.java
opendaylight/northbound/switchmanager/pom.xml
opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeConnectorProperties.java
opendaylight/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeProperties.java
opendaylight/northbound/topology/pom.xml
opendaylight/northbound/topology/src/main/java/org/opendaylight/controller/topology/northbound/EdgeProperties.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Actions.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/AdvertisedBandwidth.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Bandwidth.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Buffers.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Capabilities.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Config.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Description.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/ForwardingMode.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Latency.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Name.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/PeerBandwidth.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Property.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/State.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/SupportedBandwidth.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Tables.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/Tier.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/TimeStamp.java