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 2014/03/16 10:06:11 UTC
[22/50] [abbrv] [OLINGO-157] FIT supports jax-rs and servlet
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/3214f495/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationGetRequestTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationGetRequestTest.java b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationGetRequestTest.java
index 43feebc..c61d97a 100644
--- a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationGetRequestTest.java
+++ b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationGetRequestTest.java
@@ -34,6 +34,7 @@ import org.apache.olingo.odata2.api.commons.HttpStatusCodes;
import org.apache.olingo.odata2.core.commons.ContentType;
import org.apache.olingo.odata2.core.uri.UriType;
import org.apache.olingo.odata2.testutil.helper.StringHelper;
+import org.apache.olingo.odata2.testutil.server.ServletType;
import org.junit.Ignore;
import org.junit.Test;
@@ -43,6 +44,10 @@ import org.junit.Test;
@Ignore
public class ContentNegotiationGetRequestTest extends AbstractContentNegotiationTest {
+ public ContentNegotiationGetRequestTest(final ServletType servletType) {
+ super(servletType);
+ }
+
@Test
public void acceptHeaderAppAtomXml() throws Exception {
HttpGet get = new HttpGet(URI.create(getEndpoint() + "Rooms('1')"));
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/3214f495/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationPostRequestTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationPostRequestTest.java b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationPostRequestTest.java
index 6248650..e45dc49 100644
--- a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationPostRequestTest.java
+++ b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/ref/contentnegotiation/ContentNegotiationPostRequestTest.java
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.olingo.odata2.api.commons.HttpStatusCodes;
import org.apache.olingo.odata2.core.uri.UriType;
+import org.apache.olingo.odata2.testutil.server.ServletType;
import org.junit.Ignore;
import org.junit.Test;
@@ -31,6 +32,10 @@ import org.junit.Test;
*/
public class ContentNegotiationPostRequestTest extends AbstractContentNegotiationTest {
+ public ContentNegotiationPostRequestTest(final ServletType servletType) {
+ super(servletType);
+ }
+
public static final String EMPLOYEE_1_XML =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/3214f495/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/fit/AbstractFitTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/fit/AbstractFitTest.java b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/fit/AbstractFitTest.java
index 1a2362b..47fb03a 100644
--- a/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/fit/AbstractFitTest.java
+++ b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/fit/AbstractFitTest.java
@@ -19,6 +19,8 @@
package org.apache.olingo.odata2.testutil.fit;
import java.net.URI;
+import java.util.Arrays;
+import java.util.List;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
@@ -26,13 +28,17 @@ import org.apache.olingo.odata2.api.ODataService;
import org.apache.olingo.odata2.api.exception.ODataException;
import org.apache.olingo.odata2.testutil.TestUtilRuntimeException;
import org.apache.olingo.odata2.testutil.server.ServerRuntimeException;
+import org.apache.olingo.odata2.testutil.server.ServletType;
import org.apache.olingo.odata2.testutil.server.TestServer;
import org.junit.After;
import org.junit.Before;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
/**
*
*/
+@RunWith(Parameterized.class)
public abstract class AbstractFitTest extends BaseTest {
private final TestServer server;
@@ -41,10 +47,27 @@ public abstract class AbstractFitTest extends BaseTest {
private final HttpClient httpClient = new DefaultHttpClient();
- public AbstractFitTest() {
- server = new TestServer(this.getClass().getSimpleName());
+ private ServletType servletType;
+
+ public AbstractFitTest(ServletType servletType) {
+ this.servletType = servletType;
+ server = new TestServer(this.getClass().getSimpleName(), servletType);
+ }
+
+ @Parameterized.Parameters
+ public static List<Object[]> data() {
+ // If desired this can be made dependent on runtime variables
+ Object[][] a;
+ a = new Object[2][1];
+ a[0][0] = ServletType.JAXRS_SERVLET;
+ a[1][0] = ServletType.ODATA_SERVLET;
+
+ return Arrays.asList(a);
}
+// public AbstractFitTest() {
+// }
+
protected URI getEndpoint() {
return server.getEndpoint();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/3214f495/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/server/ServletType.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/server/ServletType.java b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/server/ServletType.java
new file mode 100644
index 0000000..6d05304
--- /dev/null
+++ b/odata2-lib/odata-testutil/src/main/java/org/apache/olingo/odata2/testutil/server/ServletType.java
@@ -0,0 +1,5 @@
+package org.apache.olingo.odata2.testutil.server;
+
+public enum ServletType {
+ ODATA_SERVLET, JAXRS_SERVLET
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/3214f495/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 314dfcb..05b9f0f 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
@@ -52,17 +52,19 @@ public class TestServer {
private final String path;
private int pathSplit = 0;
+ private ServletType servletType;
- public TestServer() {
- this(DEFAULT_PATH);
- }
-
- public TestServer(final String path) {
+ public TestServer(ServletType type) {
+ this(DEFAULT_PATH, type);
+ }
+
+ public TestServer(final String path, ServletType type) {
if (path.startsWith("/")) {
this.path = path;
} else {
this.path = "/" + path;
}
+ this.servletType = type;
}
public int getPathSplit() {
@@ -98,8 +100,7 @@ public class TestServer {
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);
- final ServletContextHandler contextHandler = createODataContextHandler(factoryClass);
+ final ServletContextHandler contextHandler = createContextHandler(factoryClass);
try {
final InetSocketAddress isa = new InetSocketAddress(DEFAULT_HOST, port);
server = new Server(isa);
@@ -123,12 +124,25 @@ 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());
+ private ServletContextHandler createContextHandler(final Class<? extends ODataServiceFactory> factoryClass)
+ throws Exception {
+ ServletHolder odataServletHolder = null;
+
+ switch (servletType) {
+ case JAXRS_SERVLET:
+ odataServletHolder = new ServletHolder(new CXFNonSpringJaxrsServlet());
+ odataServletHolder.setInitParameter("javax.ws.rs.Application",
+ "org.apache.olingo.odata2.core.rest.app.ODataApplication");
+ odataServletHolder.setInitParameter(ODataServiceFactory.FACTORY_LABEL, factoryClass.getCanonicalName());
+ break;
+ case ODATA_SERVLET:
+ String odataServlet = "org.apache.olingo.odata2.core.servlet.ODataServlet";
+ final HttpServlet httpServlet = (HttpServlet) Class.forName(odataServlet).newInstance();
+ odataServletHolder = new ServletHolder(httpServlet);
+ odataServletHolder.setInitParameter(ODataServiceFactory.FACTORY_LABEL, factoryClass.getCanonicalName());
+ break;
+ default:
+ }
if (pathSplit > 0) {
odataServletHolder.setInitParameter(ODataServiceFactory.PATH_SPLIT_LABEL, Integer.toString(pathSplit));
@@ -140,23 +154,23 @@ public class TestServer {
return contextHandler;
}
- private ServletContextHandler createODataContextHandler(final Class<? extends ODataServiceFactory> factoryClass)
- throws InstantiationException, IllegalAccessException, ClassNotFoundException {
- String odataServlet = "org.apache.olingo.odata2.core.servlet.ODataServlet";
- final HttpServlet httpServlet = (HttpServlet) Class.forName(odataServlet).newInstance();
- final ServletHolder odataServletHolder = new ServletHolder(httpServlet);
- odataServletHolder.setInitParameter(ODataServiceFactory.FACTORY_LABEL, factoryClass.getCanonicalName());
-
- if (pathSplit > 0) {
- odataServletHolder.setInitParameter(ODataServiceFactory.PATH_SPLIT_LABEL, Integer.toString(pathSplit));
- }
+// private ServletContextHandler createODataContextHandler(final Class<? extends ODataServiceFactory> factoryClass)
+// throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+// String odataServlet = "org.apache.olingo.odata2.core.servlet.ODataServlet";
+// final HttpServlet httpServlet = (HttpServlet) Class.forName(odataServlet).newInstance();
+// final ServletHolder odataServletHolder = new ServletHolder(httpServlet);
+// 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;
+// }
- 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);