This is an automated email from the ASF dual-hosted git repository.

elsloo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-trafficcontrol.git

commit a7a22ed7db1ba52972ea2aeb0ed423cf2a2dde82
Author: Jesse Rivas <jesse_ri...@comcast.com>
AuthorDate: Tue Apr 24 15:51:54 2018 -0600

    updated PR #736 to use JsonUtils instead of org.json
---
 .../traffic_router/core/config/ConfigHandler.java  | 22 +++---
 .../traffic_router/core/ds/DeliveryService.java    |  4 +-
 .../traffic_router/core/loc/AnonymousIp.java       | 45 ++++++------
 .../core/loc/AnonymousIpWhitelist.java             | 14 ++--
 .../core/loc/AnonymousIpWhitelistTest.java         | 79 ++++++++++++----------
 5 files changed, 90 insertions(+), 74 deletions(-)

diff --git 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/config/ConfigHandler.java
 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/config/ConfigHandler.java
index aa55f0a..2c33409 100644
--- 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/config/ConfigHandler.java
+++ 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/config/ConfigHandler.java
@@ -562,14 +562,14 @@ public class ConfigHandler {
                }
        }
 
-       private void parseAnonymousIpConfig(final JSONObject jo) throws 
JSONException {
+       private void parseAnonymousIpConfig(final JsonNode jo) throws 
JsonUtilsException {
                final String anonymousPollingUrl = "anonymousip.polling.url";
                final String anonymousPollingInterval = 
"anonymousip.polling.interval";
                final String anonymousPolicyConfiguration = 
"anonymousip.policy.configuration";
-               
-               final JSONObject config = jo.getJSONObject("config");
-               final String configUrl = 
config.optString(anonymousPolicyConfiguration, null);
-               final String databaseUrl = 
config.optString(anonymousPollingUrl, null);
+
+               final JsonNode config = JsonUtils.getJsonNode(jo,"config");
+               final String configUrl = JsonUtils.optString(config, 
anonymousPolicyConfiguration, null);
+               final String databaseUrl = JsonUtils.optString(config, 
anonymousPollingUrl, null);
 
                if (configUrl == null) {
                        LOGGER.info(anonymousPolicyConfiguration + " not 
configured; stopping service updater and disabling feature");
@@ -586,11 +586,13 @@ public class ConfigHandler {
                }
 
                if (jo.has(deliveryServicesKey)) {
-                       final JSONObject dss = 
jo.getJSONObject(deliveryServicesKey);
-                       for (final String ds : JSONObject.getNames(dss)) {
-                               if 
(dss.getJSONObject(ds).has("anonymousBlockingEnabled") &&
-                                               
dss.getJSONObject(ds).getString("anonymousBlockingEnabled").equals("true")) {
-                                       final long interval = 
config.optLong(anonymousPollingInterval);
+                       final JsonNode dss = JsonUtils.getJsonNode(jo, 
deliveryServicesKey);
+                       final Iterator<String> dsNames = dss.fieldNames();
+                       while (dsNames.hasNext()) {
+                               final String ds = dsNames.next();
+                               final JsonNode dsNode = 
JsonUtils.getJsonNode(dss, ds);
+                               if (JsonUtils.optString(dsNode, 
"anonymousBlockingEnabled").equals("true")) {
+                                       final long interval = 
JsonUtils.optLong(config, anonymousPollingInterval);
                                        
getAnonymousIpConfigUpdater().setDataBaseURL(configUrl, interval);
                                        
getAnonymousIpDatabaseUpdater().setDataBaseURL(databaseUrl, interval);
                                        AnonymousIp.getCurrentConfig().enabled 
= true;
diff --git 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/ds/DeliveryService.java
 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/ds/DeliveryService.java
index 41637b3..441378c 100644
--- 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/ds/DeliveryService.java
+++ 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/ds/DeliveryService.java
@@ -33,8 +33,6 @@ import java.util.Set;
 import java.util.Iterator;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import com.comcast.cdn.traffic_control.traffic_router.core.util.JsonUtils;
-import 
com.comcast.cdn.traffic_control.traffic_router.core.util.JsonUtilsException;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.databind.JsonNode;
 import org.apache.log4j.Logger;
@@ -49,6 +47,8 @@ import 
com.comcast.cdn.traffic_control.traffic_router.core.request.HTTPRequest;
 import 
com.comcast.cdn.traffic_control.traffic_router.core.router.StatTracker.Track;
 import 
com.comcast.cdn.traffic_control.traffic_router.core.router.StatTracker.Track.ResultType;
 import 
com.comcast.cdn.traffic_control.traffic_router.core.router.StatTracker.Track.ResultDetails;
+import com.comcast.cdn.traffic_control.traffic_router.core.util.JsonUtils;
+import 
com.comcast.cdn.traffic_control.traffic_router.core.util.JsonUtilsException;
 import 
com.comcast.cdn.traffic_control.traffic_router.core.util.StringProtector;
 
 @SuppressWarnings({"PMD.TooManyFields","PMD.CyclomaticComplexity", 
"PMD.AvoidDuplicateLiterals"})
diff --git 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java
 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java
index 6de381f..26f8fe9 100644
--- 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java
+++ 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java
@@ -15,15 +15,15 @@
 package com.comcast.cdn.traffic_control.traffic_router.core.loc;
 
 import java.io.File;
-import java.io.FileReader;
 import java.net.InetAddress;
 import java.net.MalformedURLException;
 import java.net.URL;
 
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.net.InetAddresses;
+import com.maxmind.geoip2.model.AnonymousIpResponse;
 import org.apache.log4j.Logger;
-import org.apache.wicket.ajax.json.JSONException;
-import org.apache.wicket.ajax.json.JSONObject;
-import org.apache.wicket.ajax.json.JSONTokener;
 
 import com.comcast.cdn.traffic_control.traffic_router.core.cache.Cache;
 import com.comcast.cdn.traffic_control.traffic_router.core.ds.DeliveryService;
@@ -33,8 +33,8 @@ import 
com.comcast.cdn.traffic_control.traffic_router.core.router.HTTPRouteResul
 import 
com.comcast.cdn.traffic_control.traffic_router.core.router.StatTracker.Track;
 import 
com.comcast.cdn.traffic_control.traffic_router.core.router.StatTracker.Track.ResultType;
 import 
com.comcast.cdn.traffic_control.traffic_router.core.router.TrafficRouter;
-import com.google.common.net.InetAddresses;
-import com.maxmind.geoip2.model.AnonymousIpResponse;
+import com.comcast.cdn.traffic_control.traffic_router.core.util.JsonUtils;
+import 
com.comcast.cdn.traffic_control.traffic_router.core.util.JsonUtilsException;
 
 public final class AnonymousIp {
 
@@ -91,22 +91,22 @@ public final class AnonymousIp {
                return ipv6Whitelist;
        }
 
-       private static void parseIPv4Whitelist(final JSONObject config, final 
AnonymousIp anonymousIp) throws JSONException {
-               if (config.optJSONArray("ip4Whitelist") != null) {
+       private static void parseIPv4Whitelist(final JsonNode config, final 
AnonymousIp anonymousIp) throws JsonUtilsException {
+               if (config.has("ip4Whitelist")) {
                        try {
                                anonymousIp.ipv4Whitelist = new 
AnonymousIpWhitelist();
-                               
anonymousIp.ipv4Whitelist.init(config.optJSONArray("ip4Whitelist"));
+                               
anonymousIp.ipv4Whitelist.init(JsonUtils.getJsonNode(config, "ip4Whitelist"));
                        } catch (NetworkNodeException e) {
                                LOGGER.error("Anonymous Ip ERR: Network node 
err ", e);
                        }
                }
        }
 
-       private static void parseIPv6Whitelist(final JSONObject config, final 
AnonymousIp anonymousIp) throws JSONException {
-               if (config.optJSONArray("ip6Whitelist") != null) {
+       private static void parseIPv6Whitelist(final JsonNode config, final 
AnonymousIp anonymousIp) throws JsonUtilsException {
+               if (config.has("ip6Whitelist")) {
                        try {
-                               anonymousIp.ipv6Whitelist = new 
AnonymousIpWhitelist();
-                               
anonymousIp.ipv6Whitelist.init(config.optJSONArray("ip6Whitelist"));
+                               anonymousIp.ipv4Whitelist = new 
AnonymousIpWhitelist();
+                               
anonymousIp.ipv4Whitelist.init(JsonUtils.getJsonNode(config, "ip6Whitelist"));
                        } catch (NetworkNodeException e) {
                                LOGGER.error("Anonymous Ip ERR: Network node 
err ", e);
                        }
@@ -114,15 +114,15 @@ public final class AnonymousIp {
        }
 
        @SuppressWarnings({ "PMD.NPathComplexity", "PMD.CyclomaticComplexity" })
-       private static AnonymousIp parseConfigJson(final JSONObject config) {
+       private static AnonymousIp parseConfigJson(final JsonNode config) {
                final AnonymousIp anonymousIp = new AnonymousIp();
                try {
-                       final JSONObject blockingTypes = 
config.getJSONObject("anonymousIp");
+                       final JsonNode blockingTypes = 
JsonUtils.getJsonNode(config, "anonymousIp");
 
-                       anonymousIp.blockAnonymousIp = 
blockingTypes.getBoolean("blockAnonymousVPN");
-                       anonymousIp.blockHostingProvider = 
blockingTypes.getBoolean("blockHostingProvider");
-                       anonymousIp.blockPublicProxy = 
blockingTypes.getBoolean("blockPublicProxy");
-                       anonymousIp.blockTorExitNode = 
blockingTypes.getBoolean("blockTorExitNode");
+                       anonymousIp.blockAnonymousIp = 
JsonUtils.getBoolean(blockingTypes, "blockAnonymousVPN");
+                       anonymousIp.blockHostingProvider = 
JsonUtils.getBoolean(blockingTypes, "blockHostingProvider");
+                       anonymousIp.blockPublicProxy = 
JsonUtils.getBoolean(blockingTypes, "blockPublicProxy");
+                       anonymousIp.blockTorExitNode = 
JsonUtils.getBoolean(blockingTypes, "blockTorExitNode");
 
                        anonymousIp.enabled = AnonymousIp.currentConfig.enabled;
 
@@ -130,7 +130,7 @@ public final class AnonymousIp {
                        parseIPv6Whitelist(config, anonymousIp);
 
                        if (config.has("redirectUrl")) {
-                               anonymousIp.redirectUrl = 
config.getString("redirectUrl");
+                               anonymousIp.redirectUrl = 
JsonUtils.getString(config, "redirectUrl");
                        }
 
                        return anonymousIp;
@@ -143,9 +143,10 @@ public final class AnonymousIp {
 
        @SuppressWarnings({ "PMD.NPathComplexity" })
        public static boolean parseConfigFile(final File f, final boolean 
verifyOnly) {
-               JSONObject json = null;
+               JsonNode json = null;
                try {
-                       json = new JSONObject(new JSONTokener(new 
FileReader(f)));
+                       final ObjectMapper mapper = new ObjectMapper();
+                       json = mapper.readTree(f);
                } catch (Exception e) {
                        LOGGER.error("AnonymousIp ERR: json file exception " + 
f, e);
                        return false;
diff --git 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIpWhitelist.java
 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIpWhitelist.java
index 0aec389..b05aaaf 100644
--- 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIpWhitelist.java
+++ 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIpWhitelist.java
@@ -15,8 +15,8 @@
 package com.comcast.cdn.traffic_control.traffic_router.core.loc;
 
 import org.apache.log4j.Logger;
-import org.apache.wicket.ajax.json.JSONArray;
-import org.apache.wicket.ajax.json.JSONException;
+import 
com.comcast.cdn.traffic_control.traffic_router.core.util.JsonUtilsException;
+import com.fasterxml.jackson.databind.JsonNode;
 
 public class AnonymousIpWhitelist {
        private static final Logger LOGGER = 
Logger.getLogger(AnonymousIpWhitelist.class);
@@ -27,10 +27,12 @@ public class AnonymousIpWhitelist {
                whitelist = new NetworkNode.SuperNode();
        }
 
-       public void init(final JSONArray config) throws JSONException, 
NetworkNodeException {
-               for (int i = 0; i < config.length(); i++) {
-                       final String network = config.getString(i);
-                       this.add(network);
+       public void init(final JsonNode config) throws JsonUtilsException, 
NetworkNodeException {
+               if (config.isArray()) {
+                       for (final JsonNode node : config) {
+                               final String network = node.asText();
+                               this.add(network);
+                       }
                }
        }
 
diff --git 
a/traffic_router/core/src/test/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIpWhitelistTest.java
 
b/traffic_router/core/src/test/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIpWhitelistTest.java
index eaf6af3..2a80bdc 100644
--- 
a/traffic_router/core/src/test/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIpWhitelistTest.java
+++ 
b/traffic_router/core/src/test/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIpWhitelistTest.java
@@ -17,27 +17,27 @@ package 
com.comcast.cdn.traffic_control.traffic_router.core.loc;
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.ThreadLocalRandom;
-
-import org.apache.wicket.ajax.json.JSONArray;
-import org.apache.wicket.ajax.json.JSONException;
+import 
com.comcast.cdn.traffic_control.traffic_router.core.util.JsonUtilsException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.junit.Before;
 import org.junit.Test;
 
+import java.io.IOException;
+
 public class AnonymousIpWhitelistTest {
 
        AnonymousIpWhitelist ip4whitelist;
        AnonymousIpWhitelist ip6whitelist;
 
        @Before
-       public void setup() throws JSONException, NetworkNodeException {
+       public void setup() throws IOException, JsonUtilsException, 
NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
+
                ip4whitelist = new AnonymousIpWhitelist();
-               ip4whitelist.init(new JSONArray("[\"192.168.30.0/24\", 
\"10.0.2.0/24\", \"10.0.0.0/16\"]"));
+               ip4whitelist.init(mapper.readTree("[\"192.168.30.0/24\", 
\"10.0.2.0/24\", \"10.0.0.0/16\"]"));
 
                ip6whitelist = new AnonymousIpWhitelist();
-               ip6whitelist.init(new JSONArray("[\"::1/32\", \"2001::/64\"]"));
+               ip6whitelist.init(mapper.readTree("[\"::1/32\", 
\"2001::/64\"]"));
        }
 
        @Test
@@ -104,8 +104,10 @@ public class AnonymousIpWhitelistTest {
        }
 
        @Test
-       public void testWhitelistCreationLeafFirst() throws JSONException, 
NetworkNodeException {
-               ip4whitelist.init(new JSONArray("[\"10.0.2.0/24\", 
\"10.0.0.0/16\"]"));
+       public void testWhitelistCreationLeafFirst() throws IOException, 
JsonUtilsException, NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
+
+               ip4whitelist.init(mapper.readTree("[\"10.0.2.0/24\", 
\"10.0.0.0/16\"]"));
 
                assertThat(ip4whitelist.contains("10.0.2.1"), equalTo(true));
 
@@ -113,8 +115,10 @@ public class AnonymousIpWhitelistTest {
        }
 
        @Test
-       public void testWhitelistCreationParentFirst() throws JSONException, 
NetworkNodeException {
-               ip4whitelist.init(new JSONArray("[\"10.0.0.0/16\"], 
\"10.0.2.0/24\""));
+       public void testWhitelistCreationParentFirst() throws IOException, 
JsonUtilsException, NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
+
+               ip4whitelist.init(mapper.readTree("[\"10.0.0.0/16\"], 
\"10.0.2.0/24\""));
 
                assertThat(ip4whitelist.contains("10.0.2.1"), equalTo(true));
 
@@ -123,52 +127,59 @@ public class AnonymousIpWhitelistTest {
 
        /* IPv4 validation */
 
-       @Test(expected = JSONException.class)
-       public void badIPv4Input1() throws JSONException, NetworkNodeException {
+       @Test(expected = IOException.class)
+       public void badIPv4Input1() throws IOException, JsonUtilsException, 
NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
                AnonymousIpWhitelist badlist = new AnonymousIpWhitelist();
-               badlist.init(new JSONArray("[\"\"192.168.1/24\"]"));
+               badlist.init(mapper.readTree("[\"\"192.168.1/24\"]"));
                assertThat(badlist.contains("192.168.0.1"), equalTo(false));
        }
 
-       @Test(expected = JSONException.class)
-       public void badIPv4Input2() throws JSONException, NetworkNodeException {
+       @Test(expected = IOException.class)
+       public void badIPv4Input2() throws IOException, JsonUtilsException, 
NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
                AnonymousIpWhitelist badlist = new AnonymousIpWhitelist();
-               badlist.init(new JSONArray("[\"\"256.168.0.1/24\"]"));
+               badlist.init(mapper.readTree("[\"\"256.168.0.1/24\"]"));
                assertThat(badlist.contains("192.168.0.1"), equalTo(false));
        }
 
-       @Test(expected = JSONException.class)
-       public void badNetmaskInput1() throws JSONException, 
NetworkNodeException {
+       @Test(expected = IOException.class)
+       public void badNetmaskInput1() throws IOException, JsonUtilsException, 
NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
                AnonymousIpWhitelist badlist = new AnonymousIpWhitelist();
-               badlist.init(new JSONArray("[\"\"192.168.0.1/33\"]"));
+               badlist.init(mapper.readTree("[\"\"192.168.0.1/33\"]"));
                assertThat(badlist.contains("192.168.0.1"), equalTo(false));
        }
 
-       @Test(expected = JSONException.class)
-       public void badNetmaskInput2() throws JSONException, 
NetworkNodeException {
+       @Test(expected = IOException.class)
+       public void badNetmaskInput2() throws IOException, JsonUtilsException, 
NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
                AnonymousIpWhitelist badlist = new AnonymousIpWhitelist();
-               badlist.init(new JSONArray("[\"\"::1/129\"]"));
+               badlist.init(mapper.readTree("[\"\"::1/129\"]"));
                assertThat(badlist.contains("::1"), equalTo(false));
        }
 
-       @Test(expected = JSONException.class)
-       public void badNetmaskInput3() throws JSONException, 
NetworkNodeException {
+       @Test(expected = IOException.class)
+       public void badNetmaskInput3() throws IOException, JsonUtilsException, 
NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
                AnonymousIpWhitelist badlist = new AnonymousIpWhitelist();
-               badlist.init(new JSONArray("[\"\"192.168.0.1/-1\"]"));
+               badlist.init(mapper.readTree("[\"\"192.168.0.1/-1\"]"));
                assertThat(badlist.contains("192.168.0.1"), equalTo(false));
        }
 
-       @Test(expected = JSONException.class)
-       public void validIPv4Input() throws JSONException, NetworkNodeException 
{
+       @Test(expected = IOException.class)
+       public void validIPv4Input() throws IOException, JsonUtilsException, 
NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
                AnonymousIpWhitelist badlist = new AnonymousIpWhitelist();
-               badlist.init(new JSONArray("[\"\"192.168.0.1/32\"]"));
+               badlist.init(mapper.readTree("[\"\"192.168.0.1/32\"]"));
                assertThat(badlist.contains("192.168.0.1"), equalTo(false));
        }
 
-       @Test(expected = JSONException.class)
-       public void validIPv6Input() throws JSONException, NetworkNodeException 
{
+       @Test(expected = IOException.class)
+       public void validIPv6Input() throws IOException, JsonUtilsException, 
NetworkNodeException {
+               final ObjectMapper mapper = new ObjectMapper();
                AnonymousIpWhitelist badlist = new AnonymousIpWhitelist();
-               badlist.init(new JSONArray("[\"\"::1/128\"]"));
+               badlist.init(mapper.readTree("[\"\"::1/128\"]"));
                assertThat(badlist.contains("::1"), equalTo(false));
        }
 

-- 
To stop receiving notification emails like this one, please contact
els...@apache.org.

Reply via email to