[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/ApplicationsResourceTest.java b/web/api/src/test/java/org/onosproject/rest/ApplicationsResourceTest.java
index ca960a0..762a126 100644
--- a/web/api/src/test/java/org/onosproject/rest/ApplicationsResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/ApplicationsResourceTest.java
@@ -20,7 +20,6 @@
 import com.eclipsesource.json.JsonObject;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
-import com.sun.jersey.api.client.WebResource;
 import org.hamcrest.Description;
 import org.hamcrest.TypeSafeMatcher;
 import org.junit.After;
@@ -43,11 +42,19 @@
 import org.onosproject.core.DefaultApplicationId;
 import org.onosproject.core.Version;
 
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
 import java.io.InputStream;
 import java.net.URI;
 import java.util.Optional;
 
-import static org.easymock.EasyMock.*;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.isA;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.hasSize;
@@ -218,8 +225,8 @@
                 .andReturn(ImmutableSet.of());
         replay(service);
 
-        WebResource rs = resource();
-        String response = rs.path("applications").get(String.class);
+        WebTarget wt = target();
+        String response = wt.path("applications").request().get(String.class);
         assertThat(response, is("{\"applications\":[]}"));
     }
 
@@ -232,8 +239,8 @@
                 .andReturn(ImmutableSet.of(app1, app2, app3, app4));
         replay(service);
 
-        WebResource rs = resource();
-        String response = rs.path("applications").get(String.class);
+        WebTarget wt = target();
+        String response = wt.path("applications").request().get(String.class);
         assertThat(response, containsString("{\"applications\":["));
 
         JsonObject result = Json.parse(response).asObject();
@@ -259,8 +266,8 @@
     public void getSingleApplication() {
         replay(service);
 
-        WebResource rs = resource();
-        String response = rs.path("applications/three").get(String.class);
+        WebTarget wt = target();
+        String response = wt.path("applications/three").request().get(String.class);
 
         JsonObject result = Json.parse(response).asObject();
         assertThat(result, notNullValue());
@@ -279,8 +286,8 @@
 
         replay(service);
 
-        WebResource rs = resource();
-        rs.path("applications/three").delete();
+        WebTarget wt = target();
+        wt.path("applications/three").request().delete();
     }
 
     /**
@@ -294,8 +301,8 @@
 
         replay(service);
 
-        WebResource rs = resource();
-        rs.path("applications/three/active").delete();
+        WebTarget wt = target();
+        wt.path("applications/three/active").request().delete();
     }
 
     /**
@@ -309,8 +316,8 @@
 
         replay(service);
 
-        WebResource rs = resource();
-        rs.path("applications/three/active").post();
+        WebTarget wt = target();
+        wt.path("applications/three/active").request().post(null);
     }
 
     /**
@@ -330,8 +337,9 @@
                                        new MockCodecContextWithService(service))
                 .asText();
 
-        WebResource rs = resource();
-        String response = rs.path("applications").post(String.class, app4Json);
+        WebTarget wt = target();
+        String response = wt.path("applications").request().post(
+                Entity.entity(app4Json, MediaType.APPLICATION_OCTET_STREAM), String.class);
 
         JsonObject result = Json.parse(response).asObject();
         assertThat(result, notNullValue());