[ONOS-4042] Bump up Jersey from 1.19 to 2.22.2

- Fix unit test errors of web/api
- Fix default page redirection problem
- Fix compilation errors of web/gui
- Fix configuration of aaa, acl, cordfabric, cord-gui, dhcp, mfwd,
  olt, openstack, segmentrouting, vtn, virtualbng, xos-integration
- Fix unit test errors of cpman, vtn, acl, faultmanagement
- Fix compilation errors of openstack, virtualbng, xos-integration,
  REST SB controller
- Rearrange features.xml to resolve bundle dependencies
- Remove all of stale Jersey 1.x libraries
- Rearrange web.xml to point new Jersey 2.x servlet

Change-Id: Ic17f461ede0aa36fa8d470546d8069152dc1d134
diff --git a/web/api/src/test/java/org/onosproject/rest/resources/NetworkConfigWebResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/NetworkConfigWebResourceTest.java
index 569cc6a..d214ede 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/NetworkConfigWebResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/NetworkConfigWebResourceTest.java
@@ -15,11 +15,12 @@
  */
 package org.onosproject.rest.resources;
 
-import java.net.HttpURLConnection;
-import java.util.HashSet;
-import java.util.Set;
-
 import com.eclipsesource.json.Json;
+import com.eclipsesource.json.JsonObject;
+import com.eclipsesource.json.JsonValue;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.collect.ImmutableSet;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -35,13 +36,11 @@
 import org.onosproject.net.config.SubjectFactory;
 import org.onosproject.rest.ResourceTest;
 
-import com.eclipsesource.json.JsonObject;
-import com.eclipsesource.json.JsonValue;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.collect.ImmutableSet;
-import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.api.client.WebResource;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.client.WebTarget;
+import java.net.HttpURLConnection;
+import java.util.HashSet;
+import java.util.Set;
 
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.replay;
@@ -57,7 +56,6 @@
  */
 public class NetworkConfigWebResourceTest extends ResourceTest {
 
-
     MockNetworkConfigService mockNetworkConfigService;
 
     public class MockDeviceConfig extends Config<Device> {
@@ -191,15 +189,11 @@
         }
     }
 
-    public NetworkConfigWebResourceTest() {
-        super(CoreWebApplication.class);
-    }
-
     /**
      * Sets up mocked config service.
      */
     @Before
-    public void setUp() {
+    public void setUpMocks() {
         mockNetworkConfigService = new MockNetworkConfigService();
         ServiceDirectory testDirectory =
                 new TestServiceDirectory()
@@ -221,8 +215,8 @@
      */
     @Test
     public void testEmptyConfigs() {
-        final WebResource rs = resource();
-        final String response = rs.path("network/configuration").get(String.class);
+        final WebTarget wt = target();
+        final String response = wt.path("network/configuration").request().get(String.class);
 
         assertThat(response, containsString("\"devices\":{}"));
         assertThat(response, containsString("\"links\":{}"));
@@ -233,8 +227,8 @@
      */
     @Test
     public void testEmptyConfig() {
-        final WebResource rs = resource();
-        final String response = rs.path("network/configuration/devices").get(String.class);
+        final WebTarget wt = target();
+        final String response = wt.path("network/configuration/devices").request().get(String.class);
 
         assertThat(response, is("{}"));
     }
@@ -245,12 +239,12 @@
      */
     @Test
     public void testNonExistentConfig() {
-        final WebResource rs = resource();
+        final WebTarget wt = target();
 
         try {
-            final String response = rs.path("network/configuration/nosuchkey").get(String.class);
+            final String response = wt.path("network/configuration/nosuchkey").request().get(String.class);
             fail("GET of non-existent key does not produce an exception " + response);
-        } catch (UniformInterfaceException e) {
+        } catch (NotFoundException e) {
             assertThat(e.getResponse().getStatus(), is(HttpURLConnection.HTTP_NOT_FOUND));
         }
     }
@@ -264,11 +258,10 @@
      * Tests the result of the rest api GET when there is a config.
      */
     @Test
-
     public void testConfigs() {
         setUpConfigData();
-        final WebResource rs = resource();
-        final String response = rs.path("network/configuration").get(String.class);
+        final WebTarget wt = target();
+        final String response = wt.path("network/configuration").request().get(String.class);
 
         final JsonObject result = Json.parse(response).asObject();
         Assert.assertThat(result, notNullValue());
@@ -294,8 +287,8 @@
     @Test
     public void testSingleSubjectKeyConfig() {
         setUpConfigData();
-        final WebResource rs = resource();
-        final String response = rs.path("network/configuration/devices").get(String.class);
+        final WebTarget wt = target();
+        final String response = wt.path("network/configuration/devices").request().get(String.class);
 
         final JsonObject result = Json.parse(response).asObject();
         Assert.assertThat(result, notNullValue());
@@ -318,9 +311,10 @@
     @Test
     public void testSingleSubjectConfig() {
         setUpConfigData();
-        final WebResource rs = resource();
+        final WebTarget wt = target();
         final String response =
-                rs.path("network/configuration/devices/device1")
+                wt.path("network/configuration/devices/device1")
+                        .request()
                         .get(String.class);
 
         final JsonObject result = Json.parse(response).asObject();
@@ -341,9 +335,10 @@
     @Test
     public void testSingleSubjectSingleConfig() {
         setUpConfigData();
-        final WebResource rs = resource();
+        final WebTarget wt = target();
         final String response =
-                rs.path("network/configuration/devices/device1/basic")
+                wt.path("network/configuration/devices/device1/basic")
+                        .request()
                         .get(String.class);
 
         final JsonObject result = Json.parse(response).asObject();