[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/apps/aaa/app.xml b/apps/aaa/app.xml
index e324551..ea6771c 100644
--- a/apps/aaa/app.xml
+++ b/apps/aaa/app.xml
@@ -20,5 +20,4 @@
features="${project.artifactId}">
<description>${project.description}</description>
<artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
- <bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle>
</app>
diff --git a/apps/aaa/features.xml b/apps/aaa/features.xml
index 59e95dc..5b08d80 100644
--- a/apps/aaa/features.xml
+++ b/apps/aaa/features.xml
@@ -18,7 +18,6 @@
<feature name="${project.artifactId}" version="${project.version}"
description="${project.description}">
<feature>onos-api</feature>
- <bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle>
<bundle>mvn:${project.groupId}/${project.artifactId}/${project.version}</bundle>
</feature>
</features>
diff --git a/apps/acl/pom.xml b/apps/acl/pom.xml
index 2f33f72..a074002 100644
--- a/apps/acl/pom.xml
+++ b/apps/acl/pom.xml
@@ -62,8 +62,8 @@
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
@@ -100,8 +100,14 @@
</dependency>
<dependency>
- <groupId>com.sun.jersey.jersey-test-framework</groupId>
+ <groupId>org.glassfish.jersey.test-framework</groupId>
<artifactId>jersey-test-framework-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+ <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
@@ -110,11 +116,6 @@
</dependency>
<dependency>
- <groupId>com.sun.jersey.jersey-test-framework</groupId>
- <artifactId>jersey-test-framework-grizzly2</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.onosproject</groupId>
<artifactId>onlab-misc</artifactId>
</dependency>
@@ -141,9 +142,8 @@
org.osgi.framework,
javax.ws.rs,javax.ws.rs.core,
com.fasterxml.jackson*,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
org.onlab.packet.*,
org.onlab.rest.*,
org.onosproject.*,
diff --git a/apps/acl/src/main/webapp/WEB-INF/web.xml b/apps/acl/src/main/webapp/WEB-INF/web.xml
index bd5de2f..fc8db36 100644
--- a/apps/acl/src/main/webapp/WEB-INF/web.xml
+++ b/apps/acl/src/main/webapp/WEB-INF/web.xml
@@ -45,7 +45,7 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>org.onosproject.acl.AclWebApplication</param-value>
diff --git a/apps/acl/src/test/java/org/onosproject/acl/AclWebResourceTest.java b/apps/acl/src/test/java/org/onosproject/acl/AclWebResourceTest.java
index c554db6..34765a4 100644
--- a/apps/acl/src/test/java/org/onosproject/acl/AclWebResourceTest.java
+++ b/apps/acl/src/test/java/org/onosproject/acl/AclWebResourceTest.java
@@ -20,9 +20,8 @@
package org.onosproject.acl;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.test.framework.AppDescriptor;
-import com.sun.jersey.test.framework.WebAppDescriptor;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.JerseyTest;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
@@ -31,30 +30,42 @@
import org.onlab.osgi.TestServiceDirectory;
import org.onlab.rest.BaseResource;
import org.onosproject.core.IdGenerator;
-import org.onosproject.rest.ResourceTest;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.WebTarget;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
-import static org.easymock.EasyMock.*;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.assertThat;
/**
* Test class for ACL application REST resource.
*/
-public class AclWebResourceTest extends ResourceTest {
+public class AclWebResourceTest extends JerseyTest {
final AclService mockAclService = createMock(AclService.class);
final AclStore mockAclStore = createMock(AclStore.class);
final List<AclRule> rules = new ArrayList<>();
+ /**
+ * Constructs a control metrics collector resource test instance.
+ */
+ public AclWebResourceTest() {
+ super(ResourceConfig.forApplicationClass(AclWebApplication.class));
+ }
+
@Before
- public void setUp() {
+ public void setUpMock() {
expect(mockAclService.getAclRules()).andReturn(rules).anyTimes();
- ServiceDirectory testDirectory = new TestServiceDirectory().add(AclService.class, mockAclService)
+ ServiceDirectory testDirectory = new TestServiceDirectory()
+ .add(AclService.class, mockAclService)
.add(AclStore.class, mockAclStore);
BaseResource.setServiceDirectory(testDirectory);
@@ -79,64 +90,62 @@
}
}
- @Override
- public AppDescriptor configure() {
- return new WebAppDescriptor.Builder("org.onosproject.acl").build();
- }
-
@Test
@Ignore("FIXME: This needs to get reworked")
public void addRule() throws IOException {
- WebResource.Builder rs = resource().path("rules").header("Content-type", "application/json");
+ WebTarget wt = target();
String response;
String json;
replay(mockAclService);
+ // FIXME: following code snippet requires refactoring by extracting
+ // json string as a separated file
+
// input a invalid JSON string that contains neither nw_src and nw_dst
json = "{\"ipProto\":\"TCP\",\"dstTpPort\":\"80\"}";
- response = rs.post(String.class, json);
+ response = wt.request().post(Entity.json(json), String.class);
assertThat(response, containsString("Failed! Either srcIp or dstIp must be assigned."));
// input a invalid JSON string that doesn't contain CIDR mask bits
json = "{\"ipProto\":\"TCP\",\"srcIp\":\"10.0.0.1\",\"dstTpPort\":\"80\",\"action\":\"DENY\"}";
- response = rs.post(String.class, json);
+ response = wt.request().post(Entity.json(json), String.class);
assertThat(response, containsString("Malformed IPv4 prefix string: 10.0.0.1. " +
"Address must take form \"x.x.x.x/y\""));
// input a invalid JSON string that contains a invalid IP address
json = "{\"ipProto\":\"TCP\",\"srcIp\":\"10.0.0.256/32\",\"dstTpPort\":\"80\",\"action\":\"DENY\"}";
- response = rs.post(String.class, json);
+ response = wt.request().post(Entity.json(json), String.class);
assertThat(response, containsString("Invalid IP address string: 10.0.0.256"));
// input a invalid JSON string that contains a invalid IP address
json = "{\"ipProto\":\"TCP\",\"srcIp\":\"10.0.01/32\",\"dstTpPort\":\"80\",\"action\":\"DENY\"}";
- response = rs.post(String.class, json);
+ response = wt.request().post(Entity.json(json), String.class);
assertThat(response, containsString("Invalid IP address string: 10.0.01"));
// input a invalid JSON string that contains a invalid CIDR mask bits
json = "{\"ipProto\":\"TCP\",\"srcIp\":\"10.0.0.1/a\",\"dstTpPort\":\"80\",\"action\":\"DENY\"}";
- response = rs.post(String.class, json);
+ response = wt.request().post(Entity.json(json), String.class);
assertThat(response, containsString("Failed! For input string: \"a\""));
// input a invalid JSON string that contains a invalid CIDR mask bits
json = "{\"ipProto\":\"TCP\",\"srcIp\":\"10.0.0.1/33\",\"dstTpPort\":\"80\",\"action\":\"DENY\"}";
- response = rs.post(String.class, json);
+ response = wt.request().post(Entity.json(json), String.class);
assertThat(response, containsString("Invalid prefix length 33. The value must be in the interval [0, 32]"));
// input a invalid JSON string that contains a invalid ipProto value
json = "{\"ipProto\":\"ARP\",\"srcIp\":\"10.0.0.1/32\",\"dstTpPort\":\"80\",\"action\":\"DENY\"}";
- response = rs.post(String.class, json);
+ response = wt.request().post(Entity.json(json), String.class);
assertThat(response, containsString("ipProto must be assigned to TCP, UDP, or ICMP."));
// input a invalid JSON string that contains a invalid dstTpPort value
json = "{\"ipProto\":\"TCP\",\"srcIp\":\"10.0.0.1/32\",\"dstTpPort\":\"a\",\"action\":\"DENY\"}";
- response = rs.post(String.class, json);
+ response = wt.request().post(Entity.json(json), String.class);
assertThat(response, containsString("dstTpPort must be assigned to a numerical value."));
// input a invalid JSON string that contains a invalid action value
json = "{\"ipProto\":\"TCP\",\"srcIp\":\"10.0.0.1/32\",\"dstTpPort\":\"80\",\"action\":\"PERMIT\"}";
- response = rs.post(String.class, json);
+ response = wt.request().post(Entity.json(json), String.class);
assertThat(response, containsString("action must be assigned to ALLOW or DENY."));
}
}
diff --git a/apps/cordfabric/pom.xml b/apps/cordfabric/pom.xml
index aea14f4..2c41ad0 100644
--- a/apps/cordfabric/pom.xml
+++ b/apps/cordfabric/pom.xml
@@ -68,12 +68,12 @@
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -116,9 +116,8 @@
org.osgi.framework,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
org.apache.karaf.shell.commands,
diff --git a/apps/cordfabric/src/main/webapp/WEB-INF/web.xml b/apps/cordfabric/src/main/webapp/WEB-INF/web.xml
index 06d3a35..ac7cf84 100644
--- a/apps/cordfabric/src/main/webapp/WEB-INF/web.xml
+++ b/apps/cordfabric/src/main/webapp/WEB-INF/web.xml
@@ -22,13 +22,9 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
- <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
- <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.config.property.classnames</param-name>
+ <param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.onosproject.cordfabric.FabricWebResource
</param-value>
diff --git a/apps/cordmcast/pom.xml b/apps/cordmcast/pom.xml
index 1dd4cdb..1802a7d 100644
--- a/apps/cordmcast/pom.xml
+++ b/apps/cordmcast/pom.xml
@@ -67,9 +67,9 @@
<version>5.0.0</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
+ <groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
- <version>1.19</version>
+ <version>2.22.2</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/cordmcast/src/main/java/org/onosproject/cordmcast/CordMcast.java b/apps/cordmcast/src/main/java/org/onosproject/cordmcast/CordMcast.java
index 6611414..96a7c99 100644
--- a/apps/cordmcast/src/main/java/org/onosproject/cordmcast/CordMcast.java
+++ b/apps/cordmcast/src/main/java/org/onosproject/cordmcast/CordMcast.java
@@ -20,10 +20,6 @@
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientHandlerException;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
@@ -32,6 +28,9 @@
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.client.ClientProperties;
+import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
import org.onlab.packet.Ethernet;
import org.onlab.packet.IpAddress;
import org.onlab.packet.VlanId;
@@ -69,6 +68,12 @@
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
+import javax.ws.rs.ProcessingException;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import java.io.IOException;
import java.util.Dictionary;
@@ -200,7 +205,7 @@
.map(r -> new ImmutablePair<>(r, mcastService.fetchSinks(r)))
.filter(pair -> pair.getRight() != null && !pair.getRight().isEmpty())
.forEach(pair -> pair.getRight().forEach(sink -> provisionGroup(pair.getLeft(),
- sink)));
+ sink)));
log.info("Started");
}
@@ -305,8 +310,8 @@
public void onError(Objective objective, ObjectiveError error) {
//TODO: change to debug
log.info("Next Objective {} failed, because {}",
- objective.id(),
- error);
+ objective.id(),
+ error);
}
});
@@ -345,8 +350,8 @@
public void onError(Objective objective, ObjectiveError error) {
//TODO: change to debug
log.info("Next Objective {} failed, because {}",
- objective.id(),
- error);
+ objective.id(),
+ error);
}
});
@@ -406,8 +411,8 @@
public void onError(Objective objective, ObjectiveError error) {
//TODO: change to debug
log.info("Next Objective {} failed, because {}",
- objective.id(),
- error);
+ objective.id(),
+ error);
}
});
@@ -427,14 +432,14 @@
log.debug("Sending route {} to other ONOS {}", route, fabricOnosUrl);
- WebResource.Builder builder = getClientBuilder(fabricOnosUrl);
+ Invocation.Builder builder = getClientBuilder(fabricOnosUrl);
ObjectNode json = codecService.getCodec(McastRoute.class)
.encode(route, new AbstractWebResource());
try {
- builder.post(json.toString());
- } catch (ClientHandlerException e) {
+ builder.post(Entity.json(json.toString()));
+ } catch (ProcessingException e) {
log.warn("Unable to send route to remote controller: {}", e.getMessage());
}
}
@@ -447,15 +452,14 @@
log.debug("Removing route {} from other ONOS {}", route, fabricOnosUrl);
- WebResource.Builder builder = getClientBuilder(fabricOnosUrl);
+ Invocation.Builder builder = getClientBuilder(fabricOnosUrl)
+ .property(ClientProperties.SUPPRESS_HTTP_COMPLIANCE_VALIDATION, true);
ObjectNode json = codecService.getCodec(McastRoute.class)
.encode(route, new AbstractWebResource());
- try {
- builder.delete(json.toString());
- } catch (ClientHandlerException e) {
- log.warn("Unable to delete route from remote controller: {}", e.getMessage());
- }
+
+ builder.method("DELETE", Entity.entity(json.asText(),
+ MediaType.APPLICATION_OCTET_STREAM));
}
private void clearRemoteRoutes() {
@@ -466,7 +470,7 @@
log.debug("Clearing remote multicast routes from {}", fabricOnosUrl);
- WebResource.Builder builder = getClientBuilder(fabricOnosUrl);
+ Invocation.Builder builder = getClientBuilder(fabricOnosUrl);
List<McastRoute> mcastRoutes = Lists.newArrayList();
try {
@@ -484,8 +488,6 @@
list.forEach(n -> mcastRoutes.add(
routeCodec.decode((ObjectNode) n, new AbstractWebResource())));
- } catch (ClientHandlerException e) {
- log.warn("Unable to clear routes from remote controller: {}", e.getMessage());
} catch (IOException e) {
log.warn("Error clearing remote routes", e);
}
@@ -493,14 +495,16 @@
mcastRoutes.forEach(this::removeRemoteRoute);
}
- private WebResource.Builder getClientBuilder(String uri) {
- Client client = Client.create();
- client.setConnectTimeout(DEFAULT_REST_TIMEOUT_MS);
- client.setReadTimeout(DEFAULT_REST_TIMEOUT_MS);
- client.addFilter(new HTTPBasicAuthFilter(user, password));
- WebResource resource = client.resource(uri);
- return resource.accept(JSON_UTF_8.toString())
- .type(JSON_UTF_8.toString());
+ private Invocation.Builder getClientBuilder(String uri) {
+ ClientConfig config = new ClientConfig();
+ Client client = ClientBuilder.newClient(config);
+
+ client.property(ClientProperties.CONNECT_TIMEOUT, DEFAULT_REST_TIMEOUT_MS);
+ client.property(ClientProperties.READ_TIMEOUT, DEFAULT_REST_TIMEOUT_MS);
+ client.register(HttpAuthenticationFeature.basic(user, password));
+
+ WebTarget wt = client.target(uri);
+ return wt.request(JSON_UTF_8.toString());
}
private class InternalNetworkConfigListener implements NetworkConfigListener {
@@ -532,8 +536,5 @@
public boolean isRelevant(NetworkConfigEvent event) {
return event.configClass().equals(CONFIG_CLASS);
}
-
-
}
-
}
diff --git a/apps/cordvtn/pom.xml b/apps/cordvtn/pom.xml
index 16d74b3..d43360d 100644
--- a/apps/cordvtn/pom.xml
+++ b/apps/cordvtn/pom.xml
@@ -82,12 +82,12 @@
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -135,9 +135,8 @@
org.osgi.framework,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
com.fasterxml.jackson.core,
diff --git a/apps/cordvtn/src/main/webapp/WEB-INF/web.xml b/apps/cordvtn/src/main/webapp/WEB-INF/web.xml
index b482a22..37d2bbd 100644
--- a/apps/cordvtn/src/main/webapp/WEB-INF/web.xml
+++ b/apps/cordvtn/src/main/webapp/WEB-INF/web.xml
@@ -42,7 +42,7 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>org.onosproject.cordvtn.rest.CordVtnWebApplication</param-value>
diff --git a/apps/cpman/app/pom.xml b/apps/cpman/app/pom.xml
index 3b52a9b..81109c0 100644
--- a/apps/cpman/app/pom.xml
+++ b/apps/cpman/app/pom.xml
@@ -106,8 +106,8 @@
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.rrd4j</groupId>
@@ -116,10 +116,6 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
- </dependency>
- <dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
@@ -128,23 +124,27 @@
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
+ <groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.sun.jersey.jersey-test-framework</groupId>
+ <groupId>org.glassfish.jersey.test-framework</groupId>
<artifactId>jersey-test-framework-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.sun.jersey.jersey-test-framework</groupId>
- <artifactId>jersey-test-framework-grizzly2</artifactId>
+ <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+ <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
@@ -177,9 +177,8 @@
org.osgi.framework,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
com.fasterxml.jackson.core,
diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/ControlMetricsCollectorWebResource.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/ControlMetricsCollectorWebResource.java
index 777b89f..07412861 100644
--- a/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/ControlMetricsCollectorWebResource.java
+++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/rest/ControlMetricsCollectorWebResource.java
@@ -271,4 +271,4 @@
}
return ok(root).build();
}
-}
\ No newline at end of file
+}
diff --git a/apps/cpman/app/src/main/webapp/WEB-INF/web.xml b/apps/cpman/app/src/main/webapp/WEB-INF/web.xml
index a1be00b..f42d8d3 100644
--- a/apps/cpman/app/src/main/webapp/WEB-INF/web.xml
+++ b/apps/cpman/app/src/main/webapp/WEB-INF/web.xml
@@ -42,7 +42,7 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>org.onosproject.cpman.rest.CPManWebApplication</param-value>
diff --git a/apps/cpman/app/src/test/java/org/onosproject/cpman/rest/ControlMetricsCollectorResourceTest.java b/apps/cpman/app/src/test/java/org/onosproject/cpman/rest/ControlMetricsCollectorResourceTest.java
index ac84e1d..42c73cc 100644
--- a/apps/cpman/app/src/test/java/org/onosproject/cpman/rest/ControlMetricsCollectorResourceTest.java
+++ b/apps/cpman/app/src/test/java/org/onosproject/cpman/rest/ControlMetricsCollectorResourceTest.java
@@ -15,12 +15,8 @@
*/
package org.onosproject.cpman.rest;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.spi.container.servlet.ServletContainer;
-import com.sun.jersey.test.framework.AppDescriptor;
-import com.sun.jersey.test.framework.JerseyTest;
-import com.sun.jersey.test.framework.WebAppDescriptor;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.JerseyTest;
import org.junit.Before;
import org.junit.Test;
import org.onlab.osgi.ServiceDirectory;
@@ -31,11 +27,12 @@
import org.onosproject.cpman.impl.SystemInfoFactory;
import org.onosproject.net.DeviceId;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
-import java.io.IOException;
+import javax.ws.rs.core.Response;
import java.io.InputStream;
import java.net.HttpURLConnection;
-import java.net.ServerSocket;
import java.util.Optional;
import static org.easymock.EasyMock.anyInt;
@@ -62,9 +59,7 @@
* Constructs a control metrics collector resource test instance.
*/
public ControlMetricsCollectorResourceTest() {
- super(new WebAppDescriptor.Builder("javax.ws.rs.Application",
- CPManWebApplication.class.getCanonicalName())
- .servletClass(ServletContainer.class).build());
+ super(ResourceConfig.forApplicationClass(CPManWebApplication.class));
}
/**
@@ -135,44 +130,20 @@
assertThat(si.totalMemory(), is(4096));
}
- private ClientResponse baseTest(String jsonFile, String path) {
- final WebResource rs = resource();
+ private Response baseTest(String jsonFile, String path) {
+ final WebTarget wt = target();
InputStream jsonStream = ControlMetricsCollectorResourceTest.class
.getResourceAsStream(jsonFile);
assertThat(jsonStream, notNullValue());
- return rs.path(path)
- .type(MediaType.APPLICATION_JSON_TYPE)
- .post(ClientResponse.class, jsonStream);
+ return wt.path(path)
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .post(Entity.json(jsonStream));
}
private void basePostTest(String jsonFile, String path) {
- ClientResponse response = baseTest(jsonFile, path);
+ Response response = baseTest(jsonFile, path);
assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
}
-
- /**
- * Assigns an available port for the test.
- *
- * @param defaultPort If a port cannot be determined, this one is used.
- * @return free port
- */
- @Override
- public int getPort(int defaultPort) {
- try {
- ServerSocket socket = new ServerSocket(0);
- socket.setReuseAddress(true);
- int port = socket.getLocalPort();
- socket.close();
- return port;
- } catch (IOException ioe) {
- return defaultPort;
- }
- }
-
- @Override
- public AppDescriptor configure() {
- return new WebAppDescriptor.Builder("org.onosproject.cpman.rest").build();
- }
}
diff --git a/apps/demo/cord-gui/pom.xml b/apps/demo/cord-gui/pom.xml
index 6512d60..78b71c8 100644
--- a/apps/demo/cord-gui/pom.xml
+++ b/apps/demo/cord-gui/pom.xml
@@ -44,14 +44,14 @@
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
- <version>1.19</version>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
+ <version>2.22.2</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
+ <groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
- <version>1.19</version>
+ <version>2.22.2</version>
</dependency>
<dependency>
diff --git a/apps/demo/cord-gui/src/main/webapp/WEB-INF/web.xml b/apps/demo/cord-gui/src/main/webapp/WEB-INF/web.xml
index 0ee2555..3628d39 100644
--- a/apps/demo/cord-gui/src/main/webapp/WEB-INF/web.xml
+++ b/apps/demo/cord-gui/src/main/webapp/WEB-INF/web.xml
@@ -22,13 +22,9 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
- <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
- <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.config.property.classnames</param-name>
+ <param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.onosproject.cord.gui.CordWebResource
</param-value>
diff --git a/apps/dhcp/app/pom.xml b/apps/dhcp/app/pom.xml
index f38f1b5..1f22e28 100644
--- a/apps/dhcp/app/pom.xml
+++ b/apps/dhcp/app/pom.xml
@@ -101,12 +101,12 @@
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -140,9 +140,8 @@
org.osgi.framework,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
com.fasterxml.jackson.core,
diff --git a/apps/dhcp/app/src/main/webapp/WEB-INF/web.xml b/apps/dhcp/app/src/main/webapp/WEB-INF/web.xml
index 974ac99..bc9c014 100644
--- a/apps/dhcp/app/src/main/webapp/WEB-INF/web.xml
+++ b/apps/dhcp/app/src/main/webapp/WEB-INF/web.xml
@@ -42,7 +42,7 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>org.onosproject.dhcp.rest.DhcpWebApplication</param-value>
diff --git a/apps/faultmanagement/fmmgr/pom.xml b/apps/faultmanagement/fmmgr/pom.xml
index 44616bd..e2e6b65 100644
--- a/apps/faultmanagement/fmmgr/pom.xml
+++ b/apps/faultmanagement/fmmgr/pom.xml
@@ -32,8 +32,8 @@
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/faultmanagement/fmweb/pom.xml b/apps/faultmanagement/fmweb/pom.xml
index 312eef5..9b65196 100644
--- a/apps/faultmanagement/fmweb/pom.xml
+++ b/apps/faultmanagement/fmweb/pom.xml
@@ -42,8 +42,8 @@
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
@@ -59,10 +59,9 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
+ <groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
- <version>1.19</version>
- <scope>test</scope>
+ <version>2.22.2</version>
<type>jar</type>
</dependency>
<dependency>
@@ -89,9 +88,9 @@
</dependency>
<dependency>
- <groupId>com.sun.jersey.jersey-test-framework</groupId>
+ <groupId>org.glassfish.jersey.test-framework</groupId>
<artifactId>jersey-test-framework-core</artifactId>
- <version>1.19</version>
+ <scope>test</scope>
</dependency>
</dependencies>
@@ -116,9 +115,8 @@
org.osgi.framework,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
com.fasterxml.jackson.core,
diff --git a/apps/faultmanagement/fmweb/src/main/webapp/WEB-INF/web.xml b/apps/faultmanagement/fmweb/src/main/webapp/WEB-INF/web.xml
index 18671f0..bff55e6 100644
--- a/apps/faultmanagement/fmweb/src/main/webapp/WEB-INF/web.xml
+++ b/apps/faultmanagement/fmweb/src/main/webapp/WEB-INF/web.xml
@@ -22,13 +22,9 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
- <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
- <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.config.property.classnames</param-name>
+ <param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.onosproject.faultmanagement.web.AlarmsWebResource</param-value>
</init-param>
diff --git a/apps/faultmanagement/fmweb/src/test/java/org/onosproject/faultmanagement/web/AlarmsWebResourceTest.java b/apps/faultmanagement/fmweb/src/test/java/org/onosproject/faultmanagement/web/AlarmsWebResourceTest.java
index 027a548..76eaf61 100644
--- a/apps/faultmanagement/fmweb/src/test/java/org/onosproject/faultmanagement/web/AlarmsWebResourceTest.java
+++ b/apps/faultmanagement/fmweb/src/test/java/org/onosproject/faultmanagement/web/AlarmsWebResourceTest.java
@@ -15,14 +15,9 @@
*/
package org.onosproject.faultmanagement.web;
-import com.sun.jersey.api.client.WebResource;
import org.junit.Before;
-import org.junit.Test;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.not;
import org.junit.Ignore;
+import org.junit.Test;
import org.onlab.osgi.ServiceDirectory;
import org.onlab.osgi.TestServiceDirectory;
import org.onlab.rest.BaseResource;
@@ -30,13 +25,21 @@
import org.onosproject.codec.impl.CodecManager;
import org.onosproject.rest.ResourceTest;
+import javax.ws.rs.client.WebTarget;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.not;
+
/**
* Test of the Fault Management Web REST API for Alarms.
*/
public class AlarmsWebResourceTest extends ResourceTest {
+
+
@Before
- public void setUp() {
+ public void setUpMock() {
CodecManager codecService = new CodecManager();
codecService.activate();
@@ -51,8 +54,8 @@
@Test
@Ignore
public void getAllAlarms() {
- WebResource rs = resource();
- String response = rs.path("/alarms").get(String.class);
+ WebTarget wt = target();
+ String response = wt.path("/alarms").request().get(String.class);
// Ensure hard-coded alarms returned okay
assertThat(response, containsString("\"NE is not reachable\","));
assertThat(response, containsString("\"Equipment Missing\","));
@@ -61,8 +64,8 @@
@Test
@Ignore
public void getAlarm() {
- WebResource rs = resource();
- String response = rs.path("/alarms/1").get(String.class);
+ WebTarget wt = target();
+ String response = wt.path("/alarms/1").request().get(String.class);
// Ensure hard-coded alarms returned okay
assertThat(response, containsString("\"NE is not reachable\","));
assertThat(response, not(containsString("\"Equipment Missing\",")));
diff --git a/apps/mfwd/pom.xml b/apps/mfwd/pom.xml
index a3b1ff5..9e67eb7 100644
--- a/apps/mfwd/pom.xml
+++ b/apps/mfwd/pom.xml
@@ -77,8 +77,8 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -120,9 +120,8 @@
org.slf4j,
org.osgi.framework,
javax.ws.rs,javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
org.apache.karaf.shell.commands,
diff --git a/apps/mfwd/src/main/webapp/WEB-INF/web.xml b/apps/mfwd/src/main/webapp/WEB-INF/web.xml
index c4c4f45..ba94bae 100644
--- a/apps/mfwd/src/main/webapp/WEB-INF/web.xml
+++ b/apps/mfwd/src/main/webapp/WEB-INF/web.xml
@@ -22,13 +22,9 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
- <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
- <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.config.property.classnames</param-name>
+ <param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.onosproject.mfwd.rest.McastResource
</param-value>
diff --git a/apps/olt/app/pom.xml b/apps/olt/app/pom.xml
index 18bc347..da16e9e 100644
--- a/apps/olt/app/pom.xml
+++ b/apps/olt/app/pom.xml
@@ -69,12 +69,12 @@
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -118,9 +118,8 @@
org.osgi.service.*,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
org.apache.karaf.shell.commands,
diff --git a/apps/olt/app/src/main/webapp/WEB-INF/web.xml b/apps/olt/app/src/main/webapp/WEB-INF/web.xml
index 76276ca..dbcaf21 100644
--- a/apps/olt/app/src/main/webapp/WEB-INF/web.xml
+++ b/apps/olt/app/src/main/webapp/WEB-INF/web.xml
@@ -22,13 +22,9 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
- <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
- <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.config.property.classnames</param-name>
+ <param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.onosproject.olt.rest.OltWebResource
</param-value>
diff --git a/apps/openstackinterface/app/pom.xml b/apps/openstackinterface/app/pom.xml
index 2d51a44..fdc2a1e 100644
--- a/apps/openstackinterface/app/pom.xml
+++ b/apps/openstackinterface/app/pom.xml
@@ -52,8 +52,8 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -77,14 +77,8 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
+ <groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
- <version>1.19</version>
- </dependency>
- <dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-core</artifactId>
- <version>1.19</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/openstackinterface/app/src/main/java/org/onosproject/openstackinterface/impl/OpenstackInterfaceManager.java b/apps/openstackinterface/app/src/main/java/org/onosproject/openstackinterface/impl/OpenstackInterfaceManager.java
index 3fccce3..e9bd9df 100644
--- a/apps/openstackinterface/app/src/main/java/org/onosproject/openstackinterface/impl/OpenstackInterfaceManager.java
+++ b/apps/openstackinterface/app/src/main/java/org/onosproject/openstackinterface/impl/OpenstackInterfaceManager.java
@@ -20,8 +20,6 @@
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.WebResource;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
@@ -48,6 +46,12 @@
import org.onosproject.openstackinterface.web.OpenstackSecurityGroupCodec;
import org.onosproject.openstackinterface.web.OpenstackSubnetCodec;
import org.slf4j.Logger;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import java.io.IOException;
import java.util.Collection;
@@ -146,7 +150,7 @@
*/
public Collection<OpenstackNetwork> getNetworks() {
- WebResource.Builder builder = getClientBuilder(neutronUrl + URI_NETWORKS);
+ Invocation.Builder builder = getClientBuilder(neutronUrl + URI_NETWORKS);
String response = builder.accept(MediaType.APPLICATION_JSON_TYPE).
header(HEADER_AUTH_TOKEN, getToken()).get(String.class);
@@ -176,7 +180,7 @@
*/
public Collection<OpenstackPort> getPorts() {
- WebResource.Builder builder = getClientBuilder(neutronUrl + URI_PORTS);
+ Invocation.Builder builder = getClientBuilder(neutronUrl + URI_PORTS);
String response = builder.accept(MediaType.APPLICATION_JSON_TYPE).
header(HEADER_AUTH_TOKEN, getToken()).get(String.class);
@@ -198,7 +202,7 @@
}
public Collection<OpenstackRouter> getRouters() {
- WebResource.Builder builder = getClientBuilder(neutronUrl + PATH_ROUTERS);
+ Invocation.Builder builder = getClientBuilder(neutronUrl + PATH_ROUTERS);
String response = builder.accept(MediaType.APPLICATION_JSON_TYPE).
header(HEADER_AUTH_TOKEN, getToken()).get(String.class);
@@ -227,8 +231,7 @@
* @return List of OpenstackSubnet
*/
public Collection<OpenstackSubnet> getSubnets() {
-
- WebResource.Builder builder = getClientBuilder(neutronUrl + URI_SUBNETS);
+ Invocation.Builder builder = getClientBuilder(neutronUrl + URI_SUBNETS);
String response = builder.accept(MediaType.APPLICATION_JSON_TYPE).
header(HEADER_AUTH_TOKEN, getToken()).get(String.class);
@@ -256,7 +259,7 @@
* @return OpenstackSecurityGroup object or null if fails
*/
public OpenstackSecurityGroup getSecurityGroup(String id) {
- WebResource.Builder builder = getClientBuilder(neutronUrl + URI_SECURITY_GROUPS + "/" + id);
+ Invocation.Builder builder = getClientBuilder(neutronUrl + URI_SECURITY_GROUPS + "/" + id);
String response = builder.accept(MediaType.APPLICATION_JSON_TYPE).
header(HEADER_AUTH_TOKEN, getToken()).get(String.class);
@@ -273,11 +276,10 @@
return securityGroup;
}
- private WebResource.Builder getClientBuilder(String uri) {
- Client client = Client.create();
- WebResource resource = client.resource(uri);
- return resource.accept(JSON_UTF_8.toString())
- .type(JSON_UTF_8.toString());
+ private Invocation.Builder getClientBuilder(String uri) {
+ Client client = ClientBuilder.newClient();
+ WebTarget wt = client.target(uri);
+ return wt.request(JSON_UTF_8.toString());
}
private String getToken() {
@@ -285,8 +287,8 @@
String request = "{\"auth\": {\"tenantName\": \"admin\", " +
"\"passwordCredentials\": {\"username\": \"" +
userName + "\",\"password\": \"" + pass + "\"}}}";
- WebResource.Builder builder = getClientBuilder(keystoneUrl + URI_TOKENS);
- String response = builder.accept(MediaType.APPLICATION_JSON).post(String.class, request);
+ Invocation.Builder builder = getClientBuilder(keystoneUrl + URI_TOKENS);
+ String response = builder.accept(MediaType.APPLICATION_JSON).post(Entity.json(request), String.class);
ObjectMapper mapper = new ObjectMapper();
try {
@@ -413,4 +415,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/apps/openstacknetworking/app/features.xml b/apps/openstacknetworking/app/features.xml
index 3f54d11..f7b5870 100644
--- a/apps/openstacknetworking/app/features.xml
+++ b/apps/openstacknetworking/app/features.xml
@@ -20,6 +20,5 @@
<feature>onos-api</feature>
<bundle>mvn:${project.groupId}/onos-app-openstacknetworking-api/${project.version}</bundle>
<bundle>mvn:${project.groupId}/onos-app-openstacknetworking-web/${project.version}</bundle>
- <bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle>
</feature>
</features>
diff --git a/apps/openstacknetworking/web/features.xml b/apps/openstacknetworking/web/features.xml
index 5aa4f15..cf5c20e 100644
--- a/apps/openstacknetworking/web/features.xml
+++ b/apps/openstacknetworking/web/features.xml
@@ -20,6 +20,5 @@
<feature>onos-api</feature>
<bundle>mvn:${project.groupId}/onos-app-openstacknetworking-api/${project.version}</bundle>
<bundle>mvn:${project.groupId}/onos-app-openstacknetworking-web/${project.version}</bundle>
- <bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle>
</feature>
</features>
diff --git a/apps/openstacknetworking/web/pom.xml b/apps/openstacknetworking/web/pom.xml
index 110f8c7..fd2f282 100644
--- a/apps/openstacknetworking/web/pom.xml
+++ b/apps/openstacknetworking/web/pom.xml
@@ -67,12 +67,12 @@
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -96,14 +96,14 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
+ <groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
- <version>1.19</version>
+ <version>2.22.2</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-core</artifactId>
- <version>1.19</version>
+ <groupId>org.glassfish.jersey.core</groupId>
+ <artifactId>jersey-common</artifactId>
+ <version>2.22.2</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
@@ -129,10 +129,8 @@
org.osgi.framework,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.api.client,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
com.fasterxml.jackson.core,
diff --git a/apps/openstacknetworking/web/src/main/webapp/WEB-INF/web.xml b/apps/openstacknetworking/web/src/main/webapp/WEB-INF/web.xml
index f475def..f495418 100644
--- a/apps/openstacknetworking/web/src/main/webapp/WEB-INF/web.xml
+++ b/apps/openstacknetworking/web/src/main/webapp/WEB-INF/web.xml
@@ -22,13 +22,9 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
- <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
- <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.config.property.classnames</param-name>
+ <param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.onosproject.openstacknetworking.web.OpenstackPortWebResource,
org.onosproject.openstacknetworking.web.OpenstackNetworkWebResource,
diff --git a/apps/segmentrouting/pom.xml b/apps/segmentrouting/pom.xml
index 6aad0d6..4053fe3 100644
--- a/apps/segmentrouting/pom.xml
+++ b/apps/segmentrouting/pom.xml
@@ -68,12 +68,12 @@
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -129,9 +129,8 @@
org.osgi.framework,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
com.fasterxml.jackson.core,
diff --git a/apps/segmentrouting/src/main/webapp/WEB-INF/web.xml b/apps/segmentrouting/src/main/webapp/WEB-INF/web.xml
index 94c0d7d..0bbfdfa 100644
--- a/apps/segmentrouting/src/main/webapp/WEB-INF/web.xml
+++ b/apps/segmentrouting/src/main/webapp/WEB-INF/web.xml
@@ -22,13 +22,9 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
- <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
- <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.config.property.classnames</param-name>
+ <param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.onosproject.segmentrouting.web.TunnelWebResource,
org.onosproject.segmentrouting.web.PolicyWebResource
diff --git a/apps/test/demo/pom.xml b/apps/test/demo/pom.xml
index 9923d6c..0ab7e72 100644
--- a/apps/test/demo/pom.xml
+++ b/apps/test/demo/pom.xml
@@ -63,8 +63,8 @@
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -102,9 +102,8 @@
org.slf4j,
org.osgi.framework,
javax.ws.rs,javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
org.apache.commons.lang.math.*,
diff --git a/apps/test/demo/src/main/webapp/WEB-INF/web.xml b/apps/test/demo/src/main/webapp/WEB-INF/web.xml
index 29716df..149ac96 100644
--- a/apps/test/demo/src/main/webapp/WEB-INF/web.xml
+++ b/apps/test/demo/src/main/webapp/WEB-INF/web.xml
@@ -22,13 +22,9 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
- <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
- <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.config.property.classnames</param-name>
+ <param-name>jersey.config.server.provider.classnames</param-name>
<param-value>
org.onosproject.demo.DemoResource
</param-value>
diff --git a/apps/virtualbng/features.xml b/apps/virtualbng/features.xml
index c997d4c..46ae075 100644
--- a/apps/virtualbng/features.xml
+++ b/apps/virtualbng/features.xml
@@ -17,7 +17,7 @@
<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${project.version}">
<feature name="${project.artifactId}" version="${project.version}"
description="${project.description}">
- <bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle>
+ <bundle>mvn:org.glassfish.jersey.core/jersey-client/2.22.2</bundle>
<bundle>mvn:${project.groupId}/onos-app-virtualbng/${project.version}</bundle>
<feature>onos-thirdparty-web</feature>
</feature>
diff --git a/apps/virtualbng/pom.xml b/apps/virtualbng/pom.xml
index dd38eab..8619328 100644
--- a/apps/virtualbng/pom.xml
+++ b/apps/virtualbng/pom.xml
@@ -48,9 +48,8 @@
<dependencies>
<dependency>
- <groupId>com.sun.jersey</groupId>
+ <groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
- <version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
@@ -68,8 +67,8 @@
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
</dependencies>
@@ -93,9 +92,8 @@
org.slf4j,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.api.client,
- com.sun.jersey.spi.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.sun.jersey.server.impl.container.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
diff --git a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/RestClient.java b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/RestClient.java
index e779fe7..e930573 100644
--- a/apps/virtualbng/src/main/java/org/onosproject/virtualbng/RestClient.java
+++ b/apps/virtualbng/src/main/java/org/onosproject/virtualbng/RestClient.java
@@ -16,22 +16,23 @@
*/
package org.onosproject.virtualbng;
-import static com.google.common.net.MediaType.JSON_UTF_8;
-import static java.net.HttpURLConnection.HTTP_OK;
-import static org.slf4j.LoggerFactory.getLogger;
-
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.WebResource;
-
-import java.io.IOException;
-
import org.onlab.packet.IpAddress;
import org.slf4j.Logger;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.Response;
+import java.io.IOException;
+
+import static com.google.common.net.MediaType.JSON_UTF_8;
+import static java.net.HttpURLConnection.HTTP_OK;
+import static org.slf4j.LoggerFactory.getLogger;
+
public class RestClient {
private final Logger log = getLogger(getClass());
private static final String UTF_8 = JSON_UTF_8.toString();
@@ -51,14 +52,14 @@
/**
* Gets a client web resource builder.
*
- * @param url the URL to access remote resource
+ * @param localUrl the URL to access remote resource
* @return web resource builder
*/
- public WebResource.Builder getClientBuilder(String url) {
- log.info("URL: {}", url);
- Client client = Client.create();
- WebResource resource = client.resource(url);
- return resource.accept(UTF_8).type(UTF_8);
+ public Invocation.Builder getClientBuilder(String localUrl) {
+ log.info("URL: {}", localUrl);
+ Client client = ClientBuilder.newClient();
+ WebTarget wt = client.target(localUrl);
+ return wt.request(UTF_8);
}
/**
@@ -67,8 +68,8 @@
* @return the vBNG map if REST GET succeeds, otherwise return null
*/
public ObjectNode getRest() {
- WebResource.Builder builder = getClientBuilder(url);
- ClientResponse response = builder.get(ClientResponse.class);
+ Invocation.Builder builder = getClientBuilder(url);
+ Response response = builder.get();
if (response.getStatus() != HTTP_OK) {
log.info("REST GET request returned error code {}",
@@ -76,7 +77,7 @@
return null;
}
- String jsonString = response.getEntity(String.class);
+ String jsonString = builder.get(String.class);
log.info("Fetched JSON string: {}", jsonString);
JsonNode node;
diff --git a/apps/virtualbng/src/main/webapp/WEB-INF/web.xml b/apps/virtualbng/src/main/webapp/WEB-INF/web.xml
index e8e0071..343698f 100644
--- a/apps/virtualbng/src/main/webapp/WEB-INF/web.xml
+++ b/apps/virtualbng/src/main/webapp/WEB-INF/web.xml
@@ -22,13 +22,9 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
- <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
- <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.config.property.classnames</param-name>
+ <param-name>javax.ws.rs.Application</param-name>
<param-value>
org.onosproject.virtualbng.VbngResource
</param-value>
diff --git a/apps/vtn/pom.xml b/apps/vtn/pom.xml
index 5c4109d..af624a3 100644
--- a/apps/vtn/pom.xml
+++ b/apps/vtn/pom.xml
@@ -67,17 +67,17 @@
<classifier>tests</classifier>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
- <groupId>com.sun.jersey.jersey-test-framework</groupId>
+ <groupId>org.glassfish.jersey.test-framework</groupId>
<artifactId>jersey-test-framework-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.sun.jersey.jersey-test-framework</groupId>
- <artifactId>jersey-test-framework-grizzly2</artifactId>
+ <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+ <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/apps/vtn/vtnmgr/pom.xml b/apps/vtn/vtnmgr/pom.xml
index 14ae4b8..4d2c69c 100644
--- a/apps/vtn/vtnmgr/pom.xml
+++ b/apps/vtn/vtnmgr/pom.xml
@@ -32,8 +32,8 @@
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/vtn/vtnweb/pom.xml b/apps/vtn/vtnweb/pom.xml
index 8ee36e0..02bd197 100644
--- a/apps/vtn/vtnweb/pom.xml
+++ b/apps/vtn/vtnweb/pom.xml
@@ -36,8 +36,8 @@
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
@@ -62,9 +62,8 @@
org.osgi.framework,
javax.ws.rs,
javax.ws.rs.core,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet,
- com.sun.jersey.server.impl.container.servlet,
+ org.glassfish.jersey,
+ org.glassfish.jersey.servlet,
com.fasterxml.jackson.databind,
com.fasterxml.jackson.databind.node,
com.fasterxml.jackson.core,
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VtnWebApplication.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VtnWebApplication.java
index 4f24a2f..8925b4a 100644
--- a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VtnWebApplication.java
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VtnWebApplication.java
@@ -34,7 +34,8 @@
PortPairGroupWebResource.class,
PortPairWebResource.class,
FloatingIpWebResource.class,
- RouterWebResource.class);
+ RouterWebResource.class,
+ ClassifierWebResource.class);
}
}
diff --git a/apps/vtn/vtnweb/src/main/webapp/WEB-INF/web.xml b/apps/vtn/vtnweb/src/main/webapp/WEB-INF/web.xml
index abc83e4..305222f 100644
--- a/apps/vtn/vtnweb/src/main/webapp/WEB-INF/web.xml
+++ b/apps/vtn/vtnweb/src/main/webapp/WEB-INF/web.xml
@@ -43,7 +43,7 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>org.onosproject.vtnweb.resources.VtnWebApplication</param-value>
diff --git a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/ClassifierResourceTest.java b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/ClassifierResourceTest.java
index 789ae89..310cb41 100644
--- a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/ClassifierResourceTest.java
+++ b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/ClassifierResourceTest.java
@@ -15,16 +15,9 @@
*/
package org.onosproject.vtnweb.resources;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
-import static org.onosproject.net.NetTestTools.device;
-import static org.onosproject.net.NetTestTools.did;
-
import com.eclipsesource.json.Json;
+import com.eclipsesource.json.JsonObject;
+import com.google.common.collect.ImmutableList;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -37,9 +30,17 @@
import org.onosproject.vtnrsc.classifier.ClassifierService;
import org.onosproject.vtnweb.web.SfcCodecContext;
-import com.eclipsesource.json.JsonObject;
-import com.google.common.collect.ImmutableList;
-import com.sun.jersey.api.client.WebResource;
+import javax.ws.rs.client.WebTarget;
+
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.Assert.assertThat;
+import static org.onosproject.net.NetTestTools.device;
+import static org.onosproject.net.NetTestTools.did;
+
/**
* Unit tests for classifier REST APIs.
*/
@@ -75,8 +76,8 @@
expect(classifierService.getClassifiers()).andReturn(null).anyTimes();
replay(classifierService);
- final WebResource rs = resource();
- final String response = rs.path("classifiers").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("classifiers").request().get(String.class);
assertThat(response, is("{\"classifiers\":[]}"));
}
@@ -92,8 +93,8 @@
expect(classifierService.getClassifiers()).andReturn(ImmutableList.of(devId1)).anyTimes();
replay(classifierService);
- final WebResource rs = resource();
- final String response = rs.path("classifiers").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("classifiers").request().get(String.class);
final JsonObject result = Json.parse(response).asObject();
assertThat(result, notNullValue());
}
diff --git a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/FlowClassifierResourceTest.java b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/FlowClassifierResourceTest.java
index 1242907..4ce8e7b 100644
--- a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/FlowClassifierResourceTest.java
+++ b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/FlowClassifierResourceTest.java
@@ -15,25 +15,8 @@
*/
package org.onosproject.vtnweb.resources;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
-
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.util.HashSet;
-import java.util.Objects;
-import java.util.Set;
-
-import javax.ws.rs.core.MediaType;
-
import com.eclipsesource.json.Json;
+import com.eclipsesource.json.JsonObject;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -49,10 +32,26 @@
import org.onosproject.vtnrsc.flowclassifier.FlowClassifierService;
import org.onosproject.vtnweb.web.SfcCodecContext;
-import com.eclipsesource.json.JsonObject;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.api.client.WebResource;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.util.HashSet;
+import java.util.Objects;
+import java.util.Set;
+
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
/**
* Unit tests for flow classifier REST APIs.
*/
@@ -219,8 +218,8 @@
expect(flowClassifierService.getFlowClassifiers()).andReturn(null).anyTimes();
replay(flowClassifierService);
- final WebResource rs = resource();
- final String response = rs.path("flow_classifiers").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("flow_classifiers").request().get(String.class);
assertThat(response, is("{\"flow_classifiers\":[]}"));
}
@@ -237,8 +236,9 @@
expect(flowClassifierService.getFlowClassifier(anyObject())).andReturn(flowClassifier1).anyTimes();
replay(flowClassifierService);
- final WebResource rs = resource();
- final String response = rs.path("flow_classifiers/4a334cd4-fe9c-4fae-af4b-321c5e2eb051").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("flow_classifiers/4a334cd4-fe9c-4fae-af4b-321c5e2eb051")
+ .request().get(String.class);
final JsonObject result = Json.parse(response).asObject();
assertThat(result, notNullValue());
}
@@ -251,13 +251,14 @@
expect(flowClassifierService.getFlowClassifier(anyObject()))
.andReturn(null).anyTimes();
replay(flowClassifierService);
- WebResource rs = resource();
+ WebTarget wt = target();
try {
- rs.path("flow_classifiers/78dcd363-fc23-aeb6-f44b-56dc5aafb3ae").get(String.class);
+ wt.path("flow_classifiers/78dcd363-fc23-aeb6-f44b-56dc5aafb3ae")
+ .request().get(String.class);
fail("Fetch of non-existent flow classifier did not throw an exception");
- } catch (UniformInterfaceException ex) {
+ } catch (NotFoundException ex) {
assertThat(ex.getMessage(),
- containsString("returned a response status of"));
+ containsString("HTTP 404 Not Found"));
}
}
@@ -271,12 +272,12 @@
.andReturn(true).anyTimes();
replay(flowClassifierService);
- WebResource rs = resource();
+ WebTarget wt = target();
InputStream jsonStream = FlowClassifierResourceTest.class.getResourceAsStream("post-FlowClassifier.json");
- ClientResponse response = rs.path("flow_classifiers")
- .type(MediaType.APPLICATION_JSON_TYPE)
- .post(ClientResponse.class, jsonStream);
+ Response response = wt.path("flow_classifiers")
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .post(Entity.json(jsonStream));
assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
}
@@ -289,13 +290,13 @@
.andReturn(true).anyTimes();
replay(flowClassifierService);
- WebResource rs = resource();
+ WebTarget wt = target();
String location = "flow_classifiers/4a334cd4-fe9c-4fae-af4b-321c5e2eb051";
- ClientResponse deleteResponse = rs.path(location)
- .type(MediaType.APPLICATION_JSON_TYPE)
- .delete(ClientResponse.class);
+ Response deleteResponse = wt.path(location)
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .delete();
assertThat(deleteResponse.getStatus(),
is(HttpURLConnection.HTTP_NO_CONTENT));
}
diff --git a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java
index b4447f1..6fa7933 100644
--- a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java
+++ b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortChainResourceTest.java
@@ -15,26 +15,10 @@
*/
package org.onosproject.vtnweb.resources;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
-
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
-
-import javax.ws.rs.core.MediaType;
-
+import com.eclipsesource.json.Json;
+import com.eclipsesource.json.JsonObject;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -53,13 +37,28 @@
import org.onosproject.vtnrsc.portchain.PortChainService;
import org.onosproject.vtnweb.web.SfcCodecContext;
-import com.eclipsesource.json.Json;
-import com.eclipsesource.json.JsonObject;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.api.client.WebResource;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
+
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
/**
* Unit tests for port chain REST APIs.
@@ -203,8 +202,8 @@
expect(portChainService.getPortChains()).andReturn(null).anyTimes();
replay(portChainService);
- final WebResource rs = resource();
- final String response = rs.path("port_chains").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("port_chains").request().get(String.class);
assertThat(response, is("{\"port_chains\":[]}"));
}
@@ -221,8 +220,9 @@
expect(portChainService.getPortChain(anyObject())).andReturn(portChain1).anyTimes();
replay(portChainService);
- final WebResource rs = resource();
- final String response = rs.path("port_chains/1278dcd4-459f-62ed-754b-87fc5e4a6751").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("port_chains/1278dcd4-459f-62ed-754b-87fc5e4a6751")
+ .request().get(String.class);
final JsonObject result = Json.parse(response).asObject();
assertThat(result, notNullValue());
}
@@ -235,13 +235,14 @@
expect(portChainService.getPortChain(anyObject()))
.andReturn(null).anyTimes();
replay(portChainService);
- WebResource rs = resource();
+ WebTarget wt = target();
try {
- rs.path("port_chains/78dcd363-fc23-aeb6-f44b-56dc5aafb3ae").get(String.class);
+ wt.path("port_chains/78dcd363-fc23-aeb6-f44b-56dc5aafb3ae")
+ .request().get(String.class);
fail("Fetch of non-existent port chain did not throw an exception");
- } catch (UniformInterfaceException ex) {
+ } catch (NotFoundException ex) {
assertThat(ex.getMessage(),
- containsString("returned a response status of"));
+ containsString("HTTP 404 Not Found"));
}
}
@@ -255,12 +256,12 @@
.andReturn(true).anyTimes();
replay(portChainService);
- WebResource rs = resource();
+ WebTarget wt = target();
InputStream jsonStream = PortChainResourceTest.class.getResourceAsStream("post-PortChain.json");
- ClientResponse response = rs.path("port_chains")
- .type(MediaType.APPLICATION_JSON_TYPE)
- .post(ClientResponse.class, jsonStream);
+ Response response = wt.path("port_chains")
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .post(Entity.json(jsonStream));
assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
}
@@ -273,13 +274,13 @@
.andReturn(true).anyTimes();
replay(portChainService);
- WebResource rs = resource();
+ WebTarget wt = target();
String location = "port_chains/1278dcd4-459f-62ed-754b-87fc5e4a6751";
- ClientResponse deleteResponse = rs.path(location)
- .type(MediaType.APPLICATION_JSON_TYPE)
- .delete(ClientResponse.class);
+ Response deleteResponse = wt.path(location)
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .delete();
assertThat(deleteResponse.getStatus(),
is(HttpURLConnection.HTTP_NO_CONTENT));
}
diff --git a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortPairGroupResourceTest.java b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortPairGroupResourceTest.java
index 9b7c987..b631def 100644
--- a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortPairGroupResourceTest.java
+++ b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortPairGroupResourceTest.java
@@ -15,25 +15,10 @@
*/
package org.onosproject.vtnweb.resources;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
-
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
-
-import javax.ws.rs.core.MediaType;
-
+import com.eclipsesource.json.Json;
+import com.eclipsesource.json.JsonObject;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -48,13 +33,27 @@
import org.onosproject.vtnrsc.portpairgroup.PortPairGroupService;
import org.onosproject.vtnweb.web.SfcCodecContext;
-import com.eclipsesource.json.Json;
-import com.eclipsesource.json.JsonObject;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.api.client.WebResource;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
/**
* Unit tests for port pair group REST APIs.
*/
@@ -163,8 +162,8 @@
expect(portPairGroupService.getPortPairGroups()).andReturn(null).anyTimes();
replay(portPairGroupService);
- final WebResource rs = resource();
- final String response = rs.path("port_pair_groups").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("port_pair_groups").request().get(String.class);
assertThat(response, is("{\"port_pair_groups\":[]}"));
}
@@ -181,8 +180,9 @@
expect(portPairGroupService.getPortPairGroup(anyObject())).andReturn(portPairGroup1).anyTimes();
replay(portPairGroupService);
- final WebResource rs = resource();
- final String response = rs.path("port_pair_groups/4512d643-24fc-4fae-af4b-321c5e2eb3d1").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("port_pair_groups/4512d643-24fc-4fae-af4b-321c5e2eb3d1")
+ .request().get(String.class);
final JsonObject result = Json.parse(response).asObject();
assertThat(result, notNullValue());
}
@@ -195,13 +195,14 @@
expect(portPairGroupService.getPortPairGroup(anyObject()))
.andReturn(null).anyTimes();
replay(portPairGroupService);
- WebResource rs = resource();
+ WebTarget wt = target();
try {
- rs.path("port_pair_groups/78dcd363-fc23-aeb6-f44b-56dc5aafb3ae").get(String.class);
+ wt.path("port_pair_groups/78dcd363-fc23-aeb6-f44b-56dc5aafb3ae")
+ .request().get(String.class);
fail("Fetch of non-existent port pair group did not throw an exception");
- } catch (UniformInterfaceException ex) {
+ } catch (NotFoundException ex) {
assertThat(ex.getMessage(),
- containsString("returned a response status of"));
+ containsString("HTTP 404 Not Found"));
}
}
@@ -215,12 +216,12 @@
.andReturn(true).anyTimes();
replay(portPairGroupService);
- WebResource rs = resource();
+ WebTarget wt = target();
InputStream jsonStream = PortPairGroupResourceTest.class.getResourceAsStream("post-PortPairGroup.json");
- ClientResponse response = rs.path("port_pair_groups")
- .type(MediaType.APPLICATION_JSON_TYPE)
- .post(ClientResponse.class, jsonStream);
+ Response response = wt.path("port_pair_groups")
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .post(Entity.json(jsonStream));
assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
}
@@ -233,13 +234,13 @@
.andReturn(true).anyTimes();
replay(portPairGroupService);
- WebResource rs = resource();
+ WebTarget wt = target();
String location = "port_pair_groups/4512d643-24fc-4fae-af4b-321c5e2eb3d1";
- ClientResponse deleteResponse = rs.path(location)
- .type(MediaType.APPLICATION_JSON_TYPE)
- .delete(ClientResponse.class);
+ Response deleteResponse = wt.path(location)
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .delete();
assertThat(deleteResponse.getStatus(),
is(HttpURLConnection.HTTP_NO_CONTENT));
}
diff --git a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortPairResourceTest.java b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortPairResourceTest.java
index c4b02ed..e436bbe 100644
--- a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortPairResourceTest.java
+++ b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/PortPairResourceTest.java
@@ -15,25 +15,8 @@
*/
package org.onosproject.vtnweb.resources;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
-
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.util.HashSet;
-import java.util.Objects;
-import java.util.Set;
-
-import javax.ws.rs.core.MediaType;
-
import com.eclipsesource.json.Json;
+import com.eclipsesource.json.JsonObject;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -47,10 +30,26 @@
import org.onosproject.vtnrsc.portpair.PortPairService;
import org.onosproject.vtnweb.web.SfcCodecContext;
-import com.eclipsesource.json.JsonObject;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.api.client.WebResource;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.util.HashSet;
+import java.util.Objects;
+import java.util.Set;
+
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
/**
* Unit tests for port pair REST APIs.
*/
@@ -155,8 +154,8 @@
expect(portPairService.getPortPairs()).andReturn(null).anyTimes();
replay(portPairService);
- final WebResource rs = resource();
- final String response = rs.path("port_pairs").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("port_pairs").request().get(String.class);
assertThat(response, is("{\"port_pairs\":[]}"));
}
@@ -173,8 +172,9 @@
expect(portPairService.getPortPair(anyObject())).andReturn(portPair1).anyTimes();
replay(portPairService);
- final WebResource rs = resource();
- final String response = rs.path("port_pairs/78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae").get(String.class);
+ final WebTarget wt = target();
+ final String response = wt.path("port_pairs/78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae")
+ .request().get(String.class);
final JsonObject result = Json.parse(response).asObject();
assertThat(result, notNullValue());
}
@@ -187,13 +187,14 @@
expect(portPairService.getPortPair(anyObject()))
.andReturn(null).anyTimes();
replay(portPairService);
- WebResource rs = resource();
+ WebTarget wt = target();
try {
- rs.path("port_pairs/78dcd363-fc23-aeb6-f44b-56dc5aafb3ae").get(String.class);
+ wt.path("port_pairs/78dcd363-fc23-aeb6-f44b-56dc5aafb3ae")
+ .request().get(String.class);
fail("Fetch of non-existent port pair did not throw an exception");
- } catch (UniformInterfaceException ex) {
+ } catch (NotFoundException ex) {
assertThat(ex.getMessage(),
- containsString("returned a response status of"));
+ containsString("HTTP 404 Not Found"));
}
}
@@ -207,12 +208,12 @@
.andReturn(true).anyTimes();
replay(portPairService);
- WebResource rs = resource();
+ WebTarget wt = target();
InputStream jsonStream = PortPairResourceTest.class.getResourceAsStream("post-PortPair.json");
- ClientResponse response = rs.path("port_pairs")
- .type(MediaType.APPLICATION_JSON_TYPE)
- .post(ClientResponse.class, jsonStream);
+ Response response = wt.path("port_pairs")
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .post(Entity.json(jsonStream));
assertThat(response.getStatus(), is(HttpURLConnection.HTTP_OK));
}
@@ -225,13 +226,13 @@
.andReturn(true).anyTimes();
replay(portPairService);
- WebResource rs = resource();
+ WebTarget wt = target();
String location = "port_pairs/78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae";
- ClientResponse deleteResponse = rs.path(location)
- .type(MediaType.APPLICATION_JSON_TYPE)
- .delete(ClientResponse.class);
+ Response deleteResponse = wt.path(location)
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .delete();
assertThat(deleteResponse.getStatus(),
is(HttpURLConnection.HTTP_NO_CONTENT));
}
diff --git a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/VtnResourceTest.java b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/VtnResourceTest.java
index 4b95844..af9c15b 100644
--- a/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/VtnResourceTest.java
+++ b/apps/vtn/vtnweb/src/test/java/org/onosproject/vtnweb/resources/VtnResourceTest.java
@@ -15,12 +15,8 @@
*/
package org.onosproject.vtnweb.resources;
-import java.io.IOException;
-import java.net.ServerSocket;
-
-import com.sun.jersey.test.framework.AppDescriptor;
-import com.sun.jersey.test.framework.JerseyTest;
-import com.sun.jersey.test.framework.WebAppDescriptor;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.JerseyTest;
/**
* Base class for VTN REST API tests. Performs common configuration operations.
@@ -28,27 +24,9 @@
public class VtnResourceTest extends JerseyTest {
/**
- * Assigns an available port for the test.
- *
- * @param defaultPort If a port cannot be determined, this one is used.
- * @return free port
+ * Creates a new web-resource test.
*/
- @Override
- public int getPort(int defaultPort) {
- try {
- ServerSocket socket = new ServerSocket(0);
- socket.setReuseAddress(true);
- int port = socket.getLocalPort();
- socket.close();
- return port;
- } catch (IOException ioe) {
- return defaultPort;
- }
+ public VtnResourceTest() {
+ super(ResourceConfig.forApplicationClass(VtnWebApplication.class));
}
-
- @Override
- public AppDescriptor configure() {
- return new WebAppDescriptor.Builder("org.onosproject.vtnweb.resources").build();
- }
-
}
diff --git a/apps/xos-integration/features.xml b/apps/xos-integration/features.xml
index 6b08b63..f66ad73 100644
--- a/apps/xos-integration/features.xml
+++ b/apps/xos-integration/features.xml
@@ -17,7 +17,7 @@
<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${project.version}">
<feature name="${project.artifactId}" version="${project.version}"
description="${project.description}">
- <bundle>mvn:com.sun.jersey/jersey-client/1.19</bundle>
+ <bundle>mvn:org.glassfish.jersey.core/jersey-client/2.22.2</bundle>
<bundle>mvn:${project.groupId}/${project.artifactId}/${project.version}</bundle>
</feature>
</features>
diff --git a/apps/xos-integration/pom.xml b/apps/xos-integration/pom.xml
index 08d6191..582ef77 100644
--- a/apps/xos-integration/pom.xml
+++ b/apps/xos-integration/pom.xml
@@ -45,9 +45,9 @@
<artifactId>org.osgi.compendium</artifactId>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
+ <groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
- <version>1.19</version>
+ <version>2.22.2</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/xos-integration/src/main/java/org/onosproject/xosintegration/OnosXosIntegrationManager.java b/apps/xos-integration/src/main/java/org/onosproject/xosintegration/OnosXosIntegrationManager.java
index df3a29f..5c57702 100644
--- a/apps/xos-integration/src/main/java/org/onosproject/xosintegration/OnosXosIntegrationManager.java
+++ b/apps/xos-integration/src/main/java/org/onosproject/xosintegration/OnosXosIntegrationManager.java
@@ -18,11 +18,6 @@
import com.eclipsesource.json.JsonArray;
import com.eclipsesource.json.JsonObject;
import com.google.common.collect.Maps;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientHandlerException;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Deactivate;
@@ -31,6 +26,7 @@
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.apache.felix.scr.annotations.Service;
+import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
import org.onlab.packet.VlanId;
import org.onlab.util.Tools;
import org.onosproject.cfg.ComponentConfigService;
@@ -49,6 +45,12 @@
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.Response;
import java.util.Dictionary;
import java.util.Map;
import java.util.Set;
@@ -207,7 +209,7 @@
* @deprecated in Cardinal Release
*/
@Deprecated
- private WebResource.Builder getClientBuilder() {
+ private Invocation.Builder getClientBuilder() {
return getClientBuilder("");
}
@@ -219,15 +221,14 @@
* @deprecated in Cardinal Release
*/
@Deprecated
- private WebResource.Builder getClientBuilder(String uri) {
+ private Invocation.Builder getClientBuilder(String uri) {
String baseUrl = "http://" + xosServerAddress + ":"
+ Integer.toString(xosServerPort);
- Client client = Client.create();
- client.addFilter(new HTTPBasicAuthFilter("padmin@vicci.org", "letmein"));
- WebResource resource = client.resource(baseUrl
+ Client client = ClientBuilder.newClient();
+ client.register(HttpAuthenticationFeature.basic("padmin@vicci.org", "letmein"));
+ WebTarget wt = client.target(baseUrl
+ XOS_TENANT_BASE_URI + uri);
- return resource.accept(JSON_UTF_8.toString())
- .type(JSON_UTF_8.toString());
+ return wt.request(JSON_UTF_8.toString());
}
/**
@@ -250,14 +251,14 @@
*/
@Deprecated
private String getRest(String uri) {
- WebResource.Builder builder = getClientBuilder(uri);
- ClientResponse response = builder.get(ClientResponse.class);
+ Invocation.Builder builder = getClientBuilder(uri);
+ Response response = builder.get();
if (response.getStatus() != HTTP_OK) {
log.info("REST GET request returned error code {}",
response.getStatus());
}
- String jsonString = response.getEntity(String.class);
+ String jsonString = builder.get(String.class);
log.info("JSON read:\n{}", jsonString);
return jsonString;
@@ -272,21 +273,14 @@
*/
@Deprecated
private String postRest(String json) {
- WebResource.Builder builder = getClientBuilder();
- ClientResponse response;
-
- try {
- response = builder.post(ClientResponse.class, json);
- } catch (ClientHandlerException e) {
- log.warn("Unable to contact REST server: {}", e.getMessage());
- return "{ \"error\" : \"oops no one home\" }";
- }
+ Invocation.Builder builder = getClientBuilder();
+ Response response = builder.post(Entity.json(json));
if (response.getStatus() != HTTP_CREATED) {
log.info("REST POST request returned error code {}",
response.getStatus());
}
- return response.getEntity(String.class);
+ return builder.post(Entity.json(json), String.class);
}
/**
@@ -298,8 +292,8 @@
*/
@Deprecated
private void deleteRest(String uri) {
- WebResource.Builder builder = getClientBuilder(uri);
- ClientResponse response = builder.delete(ClientResponse.class);
+ Invocation.Builder builder = getClientBuilder(uri);
+ Response response = builder.delete();
if (response.getStatus() != HTTP_NO_CONTENT) {
log.info("REST DELETE request returned error code {}",
@@ -507,17 +501,11 @@
String baseUrl = "http://" + FABRIC_CONTROLLER_ADDRESS + ":"
+ Integer.toString(FABRIC_SERVER_PORT);
- Client client = Client.create();
- WebResource resource = client.resource(baseUrl + FABRIC_BASE_URI);
- WebResource.Builder builder = resource.accept(JSON_UTF_8.toString())
- .type(JSON_UTF_8.toString());
+ Client client = ClientBuilder.newClient();
+ WebTarget wt = client.target(baseUrl + FABRIC_BASE_URI);
+ Invocation.Builder builder = wt.request(JSON_UTF_8.toString());
- try {
- builder.post(ClientResponse.class, node.toString());
- } catch (ClientHandlerException e) {
- log.warn("Unable to contact fabric REST server: {}", e.getMessage());
- return;
- }
+ builder.post(Entity.json(node.toString()));
}
/**