You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2013/11/12 06:34:46 UTC
[16/40] git commit: [OLINGO-34] - fix failing test on Windows (port
already in use)
[OLINGO-34] - fix failing test on Windows (port already in use)
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/commit/ede39100
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/tree/ede39100
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/diff/ede39100
Branch: refs/heads/PocEdmAnnotationsExtension
Commit: ede39100927aadbcd0e0a275f80ebf9804269bbd
Parents: aad5ef3
Author: Stephan Klevenz <sk...@apache.org>
Authored: Fri Oct 25 13:49:36 2013 +0200
Committer: Stephan Klevenz <sk...@apache.org>
Committed: Fri Oct 25 13:49:36 2013 +0200
----------------------------------------------------------------------
.../basic/issues/TestCxfCacheUriInfoIssue2.java | 4 +-
.../odata2/testutil/server/TestServer.java | 54 +++++++++++++-------
2 files changed, 38 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/ede39100/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/issues/TestCxfCacheUriInfoIssue2.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/issues/TestCxfCacheUriInfoIssue2.java b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/issues/TestCxfCacheUriInfoIssue2.java
index 5085309..fc30efe 100644
--- a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/issues/TestCxfCacheUriInfoIssue2.java
+++ b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/issues/TestCxfCacheUriInfoIssue2.java
@@ -43,8 +43,8 @@ public class TestCxfCacheUriInfoIssue2 {
server1.setPathSplit(0);
server2.setPathSplit(0);
- server1.startServer(Service1Factory.class);
- server2.startServer(Service2Factory.class);
+ server1.startServer(Service1Factory.class, 19000);
+ server2.startServer(Service2Factory.class, 19100);
}
@Test
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/ede39100/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/server/TestServer.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/server/TestServer.java b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/server/TestServer.java
index 0345c98..1a91e05 100644
--- a/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/server/TestServer.java
+++ b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/server/TestServer.java
@@ -41,8 +41,6 @@ public class TestServer {
private static final int PORT_MAX = 19200;
private static final int PORT_INC = 1;
- private static int nextFreePort = PORT_MIN;
-
private static final String DEFAULT_SCHEME = "http";
private static final String DEFAULT_HOST = "localhost";
private static final String DEFAULT_PATH = "/test";
@@ -78,27 +76,31 @@ public class TestServer {
private Server server;
- public void startServer(final Class<? extends ODataServiceFactory> factoryClass) {
+ public void startServer(final Class<? extends ODataServiceFactory> factoryClass, int fixedPort) {
try {
- for (int port = nextFreePort; port <= PORT_MAX; port += PORT_INC) {
- nextFreePort = port + PORT_INC;
- final CXFNonSpringJaxrsServlet odataServlet = new CXFNonSpringJaxrsServlet();
- final ServletHolder odataServletHolder = new ServletHolder(odataServlet);
- odataServletHolder.setInitParameter("javax.ws.rs.Application",
- "org.apache.olingo.odata2.core.rest.app.ODataApplication");
- odataServletHolder.setInitParameter(ODataServiceFactory.FACTORY_LABEL, factoryClass.getCanonicalName());
-
- if (pathSplit > 0) {
- odataServletHolder.setInitParameter(ODataServiceFactory.PATH_SPLIT_LABEL, Integer.toString(pathSplit));
- }
+ final ServletContextHandler contextHandler = createContextHandler(factoryClass);
+ final InetSocketAddress isa = new InetSocketAddress(DEFAULT_HOST, fixedPort);
+ server = new Server(isa);
+
+ server.setHandler(contextHandler);
+ server.start();
+ endpoint = new URI(DEFAULT_SCHEME, null, DEFAULT_HOST, isa.getPort(), "/abc" + path, null, null);
+ log.trace("Started server at endpoint " + endpoint.toASCIIString());
+ } catch (final Exception e) {
+ log.error(e);
+ throw new ServerRuntimeException(e);
+ }
+ }
- final ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
- contextHandler.setContextPath("/abc");
- contextHandler.addServlet(odataServletHolder, path + "/*");
+ public void startServer(final Class<? extends ODataServiceFactory> factoryClass) {
+ try {
+ for (int port = PORT_MIN; port <= PORT_MAX; port += PORT_INC) {
+ final ServletContextHandler contextHandler = createContextHandler(factoryClass);
try {
final InetSocketAddress isa = new InetSocketAddress(DEFAULT_HOST, port);
server = new Server(isa);
+
server.setHandler(contextHandler);
server.start();
endpoint = new URI(DEFAULT_SCHEME, null, DEFAULT_HOST, isa.getPort(), "/abc" + path, null, null);
@@ -109,7 +111,6 @@ public class TestServer {
}
}
-
if (!server.isStarted()) {
throw new BindException("no free port in range of [" + PORT_MIN + ".." + PORT_MAX + "]");
}
@@ -119,6 +120,23 @@ public class TestServer {
}
}
+ private ServletContextHandler createContextHandler(final Class<? extends ODataServiceFactory> factoryClass) {
+ final CXFNonSpringJaxrsServlet odataServlet = new CXFNonSpringJaxrsServlet();
+ final ServletHolder odataServletHolder = new ServletHolder(odataServlet);
+ odataServletHolder.setInitParameter("javax.ws.rs.Application",
+ "org.apache.olingo.odata2.core.rest.app.ODataApplication");
+ odataServletHolder.setInitParameter(ODataServiceFactory.FACTORY_LABEL, factoryClass.getCanonicalName());
+
+ if (pathSplit > 0) {
+ odataServletHolder.setInitParameter(ODataServiceFactory.PATH_SPLIT_LABEL, Integer.toString(pathSplit));
+ }
+
+ final ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
+ contextHandler.setContextPath("/abc");
+ contextHandler.addServlet(odataServletHolder, path + "/*");
+ return contextHandler;
+ }
+
public void startServer(final ODataService service) {
startServer(FitStaticServiceFactory.class);