Fixed REST API bug in Xconnect
In addition,
- Deprecated old XConnectHandler
- Fixed equals() of XconnectDesc and XconnectKey
- Implemented unit tests for XconnectCodec
Change-Id: I1b5f2c1f389523e3b65a3d9acaf75bc06e39fdda
diff --git a/app/src/main/java/org/onosproject/segmentrouting/xconnect/api/XconnectCodec.java b/app/src/main/java/org/onosproject/segmentrouting/xconnect/api/XconnectCodec.java
index 1154e40..83421bc 100644
--- a/app/src/main/java/org/onosproject/segmentrouting/xconnect/api/XconnectCodec.java
+++ b/app/src/main/java/org/onosproject/segmentrouting/xconnect/api/XconnectCodec.java
@@ -32,9 +32,9 @@
* Codec for Xconnect.
*/
public class XconnectCodec extends JsonCodec<XconnectDesc> {
- private static final String DEVICE_ID = "deviceId";
- private static final String VLAN_ID = "vlanId";
- private static final String ENDPOINTS = "endpoints";
+ static final String DEVICE_ID = "deviceId";
+ static final String VLAN_ID = "vlanId";
+ static final String ENDPOINTS = "endpoints";
private static Logger log = LoggerFactory.getLogger(XconnectCodec.class);
@@ -42,7 +42,7 @@
public ObjectNode encode(XconnectDesc desc, CodecContext context) {
final ObjectNode result = context.mapper().createObjectNode();
result.put(DEVICE_ID, desc.key().deviceId().toString());
- result.put(VLAN_ID, desc.key().vlanId().toString());
+ result.put(VLAN_ID, desc.key().vlanId().toShort());
final ArrayNode portNode = result.putArray(ENDPOINTS);
desc.endpoints().forEach(endpoint -> portNode.add(endpoint.toString()));
@@ -57,8 +57,7 @@
Set<XconnectEndpoint> endpoints = Sets.newHashSet();
JsonNode endpointNodes = json.get(ENDPOINTS);
if (endpointNodes != null) {
- XconnectEndpoint endpoint = XconnectEndpoint.fromString(endpointNodes.asText());
- endpointNodes.forEach(endpointNode -> endpoints.add(endpoint));
+ endpointNodes.forEach(endpointNode -> endpoints.add(XconnectEndpoint.fromString(endpointNode.asText())));
}
XconnectKey key = new XconnectKey(deviceId, vlanId);