Repository: olingo-odata4
Updated Branches:
  refs/heads/olingo-266-ref 554c795e4 -> 8ca9b3c61


[OLINGO-266] initial reference scenario servlet


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/54aef886
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/54aef886
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/54aef886

Branch: refs/heads/olingo-266-ref
Commit: 54aef8866493a4b6cfeca07ca1fd1f85681f25fb
Parents: 554c795
Author: Stephan Klevenz <[email protected]>
Authored: Fri May 9 14:22:51 2014 +0200
Committer: Stephan Klevenz <[email protected]>
Committed: Fri May 9 14:22:51 2014 +0200

----------------------------------------------------------------------
 lib/ref/pom.xml                                 | 10 ++++-
 .../org/apache/olingo/ref/ReferenceServlet.java | 42 +++++++++++++++++++
 .../src/main/resources/simplelogger.properties  | 20 +++++++++
 lib/ref/src/main/webapp/WEB-INF/web.xml         | 42 +++++++++++++++++++
 lib/ref/src/main/webapp/index.html              | 32 ++++++++++++++
 lib/server-api/pom.xml                          | 44 +++++++++++---------
 .../apache/olingo/server/api/ODataServer.java   |  5 +++
 lib/server-core/pom.xml                         | 36 ++++++++--------
 .../olingo/server/core/ODataServerImpl.java     | 16 +++++++
 9 files changed, 208 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/54aef886/lib/ref/pom.xml
----------------------------------------------------------------------
diff --git a/lib/ref/pom.xml b/lib/ref/pom.xml
index fe1da60..76ea188 100644
--- a/lib/ref/pom.xml
+++ b/lib/ref/pom.xml
@@ -24,7 +24,7 @@
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>olingo-ref</artifactId>
-  <packaging>jar</packaging>
+  <packaging>war</packaging>
   <name>${project.artifactId}</name>
 
   <parent>
@@ -36,6 +36,13 @@
 
   <dependencies>
     <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <version>2.5</version>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
       <groupId>org.apache.olingo</groupId>
       <artifactId>olingo-server-api</artifactId>
       <version>${project.version}</version>
@@ -55,7 +62,6 @@
       <groupId>org.mockito</groupId>
       <artifactId>mockito-all</artifactId>
     </dependency>
-
   </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/54aef886/lib/ref/src/main/java/org/apache/olingo/ref/ReferenceServlet.java
----------------------------------------------------------------------
diff --git a/lib/ref/src/main/java/org/apache/olingo/ref/ReferenceServlet.java 
b/lib/ref/src/main/java/org/apache/olingo/ref/ReferenceServlet.java
new file mode 100644
index 0000000..a3d30ee
--- /dev/null
+++ b/lib/ref/src/main/java/org/apache/olingo/ref/ReferenceServlet.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.ref;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.olingo.server.api.ODataServer;
+
+public class ReferenceServlet extends HttpServlet {
+
+  private static final long serialVersionUID = 1L;
+
+  @Override
+  protected void service(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException {
+    
+    ODataServer server = ODataServer.newInstance();
+    server.handle(req, resp);
+    
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/54aef886/lib/ref/src/main/resources/simplelogger.properties
----------------------------------------------------------------------
diff --git a/lib/ref/src/main/resources/simplelogger.properties 
b/lib/ref/src/main/resources/simplelogger.properties
new file mode 100644
index 0000000..2a3350c
--- /dev/null
+++ b/lib/ref/src/main/resources/simplelogger.properties
@@ -0,0 +1,20 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+org.slf4j.simpleLogger.defaultLogLevel=debug
+org.slf4j.simpleLogger.logFile=System.out
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/54aef886/lib/ref/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/lib/ref/src/main/webapp/WEB-INF/web.xml 
b/lib/ref/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..cc7de77
--- /dev/null
+++ b/lib/ref/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+  
+           http://www.apache.org/licenses/LICENSE-2.0
+  
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+-->
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xmlns="http://java.sun.com/xml/ns/javaee"; 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
+       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
+       id="WebApp_ID" version="2.5">
+
+       <display-name>Apache Olingo OData 4.0 Reference Scenario 
Service</display-name>
+
+       <welcome-file-list>
+               <welcome-file>index.html</welcome-file>
+       </welcome-file-list>
+       
+       <servlet>
+               <servlet-name>ODataServlet</servlet-name>
+               
<servlet-class>org.apache.olingo.ref.ReferenceServlet</servlet-class>
+               <load-on-startup>1</load-on-startup>
+       </servlet>
+   
+       <servlet-mapping>
+               <servlet-name>ODataServlet</servlet-name>
+               <url-pattern>/odata.svc/*</url-pattern>
+       </servlet-mapping>
+
+</web-app>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/54aef886/lib/ref/src/main/webapp/index.html
----------------------------------------------------------------------
diff --git a/lib/ref/src/main/webapp/index.html 
b/lib/ref/src/main/webapp/index.html
new file mode 100644
index 0000000..e25f4fb
--- /dev/null
+++ b/lib/ref/src/main/webapp/index.html
@@ -0,0 +1,32 @@
+<html>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+  
+           http://www.apache.org/licenses/LICENSE-2.0
+  
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+-->
+
+<body>
+ <h1>Olingo OData 4.0 Reference Scenario Service</h1>
+ <hr>
+ <h2>Reference Scenario Service</h2>
+ <lu>
+ <li><a href="odata.svc/">Service Document</a></li>
+ <li><a href="odata.svc/$metadata">Metadata</a></li>
+ </lu>
+
+</body>
+
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/54aef886/lib/server-api/pom.xml
----------------------------------------------------------------------
diff --git a/lib/server-api/pom.xml b/lib/server-api/pom.xml
index b0bdda3..3d8fa87 100644
--- a/lib/server-api/pom.xml
+++ b/lib/server-api/pom.xml
@@ -1,26 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>olingo-server-api</artifactId>
@@ -33,13 +33,19 @@
     <version>0.1.0-SNAPSHOT</version>
     <relativePath>..</relativePath>
   </parent>
-       
+
   <dependencies>
     <dependency>
       <groupId>org.apache.olingo</groupId>
       <artifactId>olingo-commons-api</artifactId>
       <version>${project.version}</version>
     </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <version>2.5</version>
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
-       
+
 </project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/54aef886/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataServer.java
----------------------------------------------------------------------
diff --git 
a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataServer.java 
b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataServer.java
index a657392..7390189 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataServer.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataServer.java
@@ -18,6 +18,9 @@
  */
 package org.apache.olingo.server.api;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
 import org.apache.olingo.commons.api.ODataRuntimeException;
 import org.apache.olingo.server.api.serializer.ODataFormat;
 import org.apache.olingo.server.api.serializer.ODataSerializer;
@@ -45,4 +48,6 @@ public abstract class ODataServer {
 
   public abstract ODataSerializer getSerializer(ODataFormat format);
 
+  public abstract void handle(HttpServletRequest req, HttpServletResponse 
resp);
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/54aef886/lib/server-core/pom.xml
----------------------------------------------------------------------
diff --git a/lib/server-core/pom.xml b/lib/server-core/pom.xml
index 28693fc..bc7ae71 100644
--- a/lib/server-core/pom.xml
+++ b/lib/server-core/pom.xml
@@ -1,26 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+  http://www.apache.org/licenses/LICENSE-2.0
 
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>olingo-server-core</artifactId>
@@ -45,7 +45,7 @@
       <artifactId>olingo-commons-core</artifactId>
       <version>${project.version}</version>
     </dependency>
-        <dependency>
+    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
       <version>${servlet.version}</version>
@@ -97,8 +97,8 @@
           <!--<arguments><argument>-atn</argument></arguments> -->
           <listener>true</listener>
           <visitor>true</visitor>
-          <!--maven antlr plugin has trouble with grammer import if the 
grammerfiles 
-          are not directly inside src/main/antlr4, hence we have to set the 
libDirectory -->
+          <!--maven antlr plugin has trouble with grammer import if the 
grammerfiles
+            are not directly inside src/main/antlr4, hence we have to set the 
libDirectory -->
           
<libDirectory>src/main/antlr4/org/apache/olingo/server/core/uri/antlr</libDirectory>
         </configuration>
       </plugin>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/54aef886/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataServerImpl.java
----------------------------------------------------------------------
diff --git 
a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataServerImpl.java
 
b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataServerImpl.java
index 7beb90d..933422d 100644
--- 
a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataServerImpl.java
+++ 
b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataServerImpl.java
@@ -18,6 +18,11 @@
  */
 package org.apache.olingo.server.core;
 
+import java.io.IOException;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
 import org.apache.olingo.commons.api.ODataRuntimeException;
 import org.apache.olingo.server.api.ODataServer;
 import org.apache.olingo.server.api.serializer.ODataFormat;
@@ -44,4 +49,15 @@ public class ODataServerImpl extends ODataServer {
     return serializer;
   }
 
+  @Override
+  public void handle(HttpServletRequest req, HttpServletResponse resp) {
+    
+    try {
+      resp.getWriter().print("Hello World!");
+    } catch (IOException e) {
+      throw new ODataRuntimeException(e);
+    }
+    
+  }
+
 }

Reply via email to