Removing json package dependency due to licensing issues
Change-Id: Iabd2f0343ca42a1956c1f7c6e471d8e141d29bc7
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/NetworkAttachmentDefinitionWatcher.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/NetworkAttachmentDefinitionWatcher.java
index bde6454..d82a043 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/NetworkAttachmentDefinitionWatcher.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/NetworkAttachmentDefinitionWatcher.java
@@ -15,14 +15,13 @@
*/
package org.onosproject.kubevirtnetworking.impl;
+import com.eclipsesource.json.JsonArray;
+import com.eclipsesource.json.JsonObject;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.Watcher;
import io.fabric8.kubernetes.client.WatcherException;
import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext;
import org.apache.commons.lang.StringUtils;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
import org.onlab.packet.IpAddress;
import org.onlab.packet.IpPrefix;
import org.onosproject.cluster.ClusterService;
@@ -270,46 +269,45 @@
}
private KubevirtNetwork parseKubevirtNetwork(String resource) {
- try {
- JSONObject json = new JSONObject(resource);
+ JsonObject json = JsonObject.readFrom(resource);
String name = parseResourceName(resource);
- JSONObject annots = json.getJSONObject("metadata").getJSONObject("annotations");
- if (!annots.has(NETWORK_CONFIG)) {
+ JsonObject annots = json.get("metadata").asObject().get("annotations").asObject();
+ if (annots.get(NETWORK_CONFIG) == null) {
// SR-IOV network does not contain network-config field
return null;
}
- String networkConfig = annots.getString(NETWORK_CONFIG);
+ String networkConfig = annots.get(NETWORK_CONFIG).asString();
if (networkConfig != null) {
KubevirtNetwork.Builder builder = DefaultKubevirtNetwork.builder();
- JSONObject configJson = new JSONObject(networkConfig);
- String type = configJson.getString(TYPE).toUpperCase(Locale.ROOT);
- Integer mtu = configJson.getInt(MTU);
- String gatewayIp = configJson.getString(GATEWAY_IP);
- boolean defaultRoute = configJson.getBoolean(DEFAULT_ROUTE);
+ JsonObject configJson = JsonObject.readFrom(networkConfig);
+ String type = configJson.get(TYPE).asString().toUpperCase(Locale.ROOT);
+ Integer mtu = configJson.get(MTU).asInt();
+ String gatewayIp = configJson.getString(GATEWAY_IP, "");
+ boolean defaultRoute = configJson.getBoolean(DEFAULT_ROUTE, false);
if (!type.equalsIgnoreCase(FLAT.name())) {
- builder.segmentId(configJson.getString(SEGMENT_ID));
+ builder.segmentId(configJson.getString(SEGMENT_ID, ""));
}
- String cidr = configJson.getString(CIDR);
+ String cidr = configJson.getString(CIDR, "");
- JSONObject poolJson = configJson.getJSONObject(IP_POOL);
+ JsonObject poolJson = configJson.get(IP_POOL).asObject();
if (poolJson != null) {
- String start = poolJson.getString(START);
- String end = poolJson.getString(END);
+ String start = poolJson.getString(START, "");
+ String end = poolJson.getString(END, "");
builder.ipPool(new KubevirtIpPool(
IpAddress.valueOf(start), IpAddress.valueOf(end)));
}
- if (configJson.has(HOST_ROUTES)) {
- JSONArray routesJson = configJson.getJSONArray(HOST_ROUTES);
+ if (configJson.get(HOST_ROUTES) != null) {
+ JsonArray routesJson = configJson.get(HOST_ROUTES).asArray();
Set<KubevirtHostRoute> hostRoutes = new HashSet<>();
if (routesJson != null) {
- for (int i = 0; i < routesJson.length(); i++) {
- JSONObject route = routesJson.getJSONObject(i);
- String destinationStr = route.getString(DESTINATION);
- String nexthopStr = route.getString(NEXTHOP);
+ for (int i = 0; i < routesJson.size(); i++) {
+ JsonObject route = routesJson.get(i).asObject();
+ String destinationStr = route.getString(DESTINATION, "");
+ String nexthopStr = route.getString(NEXTHOP, "");
if (StringUtils.isNotEmpty(destinationStr) &&
StringUtils.isNotEmpty(nexthopStr)) {
@@ -322,12 +320,12 @@
builder.hostRoutes(hostRoutes);
}
- if (configJson.has(DNSES)) {
- JSONArray dnsesJson = configJson.getJSONArray(DNSES);
+ if (configJson.get(DNSES) != null) {
+ JsonArray dnsesJson = configJson.get(DNSES).asArray();
Set<IpAddress> dnses = new HashSet<>();
if (dnsesJson != null) {
- for (int i = 0; i < dnsesJson.length(); i++) {
- String dns = dnsesJson.getString(i);
+ for (int i = 0; i < dnsesJson.size(); i++) {
+ String dns = dnsesJson.get(i).asString();
if (StringUtils.isNotEmpty(dns)) {
dnses.add(IpAddress.valueOf(dns));
}
@@ -342,10 +340,6 @@
return builder.build();
}
- } catch (JSONException e) {
- log.error("Failed to parse network attachment definition object", e);
- }
-
return null;
}
}
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java
index 82d3964..e9baecf 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java
@@ -15,6 +15,7 @@
*/
package org.onosproject.kubevirtnetworking.util;
+import com.eclipsesource.json.JsonObject;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
@@ -25,8 +26,6 @@
import io.fabric8.kubernetes.client.KubernetesClient;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.net.util.SubnetUtils;
-import org.json.JSONException;
-import org.json.JSONObject;
import org.onlab.packet.ARP;
import org.onlab.packet.Ethernet;
import org.onlab.packet.Ip4Address;
@@ -459,13 +458,9 @@
}
public static String parseResourceName(String resource) {
- try {
- JSONObject json = new JSONObject(resource);
- return json.getJSONObject("metadata").getString("name");
- } catch (JSONException e) {
- log.error("");
- }
- return "";
+ JsonObject json = JsonObject.readFrom(resource);
+ JsonObject metadata = json.get("metadata").asObject();
+ return metadata != null ? metadata.get("name").asString() : "";
}
public static PortNumber portNumber(DeviceService deviceService, DeviceId deviceId, String portName) {