You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by sk...@apache.org on 2014/06/02 13:37:57 UTC

[01/12] git commit: [OLINGO-266] processor registry

Repository: olingo-odata4
Updated Branches:
  refs/heads/master 2e7883f61 -> 17f173a94


[OLINGO-266] processor registry


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

Branch: refs/heads/master
Commit: a9ed4655168fa457da94a5d0c065d25e32ac7024
Parents: 5fb2b80
Author: Stephan Klevenz <st...@sap.com>
Authored: Thu May 22 12:34:23 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Thu May 22 12:34:23 2014 +0200

----------------------------------------------------------------------
 .../olingo/server/api/ODataHttpHandler.java     |   4 +
 .../apache/olingo/server/api/ODataRequest.java  | 103 +++++++++++++++++++
 .../apache/olingo/server/api/ODataResponse.java |  56 ++++++++++
 .../server/api/processor/DeleteMeProcessor.java |  23 +++++
 .../server/api/processor/MetadataProcessor.java |  28 +++++
 .../olingo/server/api/processor/Processor.java  |  28 +++++
 .../api/processor/ServiceDocumentProcessor.java |  29 ++++++
 .../olingo/server/core/DefaultProcessor.java    |  70 +++++++++++++
 .../apache/olingo/server/core/ODataHandler.java |  68 ++++++++----
 .../server/core/ODataHttpHandlerImpl.java       |  21 ++--
 .../apache/olingo/server/core/ODataRequest.java | 103 -------------------
 .../olingo/server/core/ODataResponse.java       |  56 ----------
 .../server/core/uri/validator/UriValidator.java |  28 +++--
 .../server/core/ODataHttpHandlerImplTest.java   |   1 +
 .../server/tecsvc/TechnicalProcessor.java       |  39 +++++++
 .../olingo/server/tecsvc/TechnicalServlet.java  |   6 ++
 .../olingo/server/core/ODataHandlerTest.java    |  15 ++-
 .../core/uri/testutil/ResourceValidator.java    |   3 +-
 .../core/uri/testutil/TestUriValidator.java     |   3 +-
 .../core/uri/validator/UriValidatorTest.java    |  37 +++----
 20 files changed, 501 insertions(+), 220 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java
index 82210b8..8372f80 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java
@@ -21,8 +21,12 @@ package org.apache.olingo.server.api;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.olingo.server.api.processor.Processor;
+
 public interface ODataHttpHandler {
 
   void process(HttpServletRequest request, HttpServletResponse response);
 
+  void register(Processor processor);
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataRequest.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataRequest.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataRequest.java
new file mode 100644
index 0000000..7bae3be
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataRequest.java
@@ -0,0 +1,103 @@
+/*
+ * 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.server.api;
+
+import java.io.InputStream;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.olingo.commons.api.http.HttpMethod;
+
+public class ODataRequest {
+  private HttpMethod method;
+  private Map<String, List<String>> headers = new HashMap<String, List<String>>();
+  private InputStream body;
+  private String rawQueryPath;
+  private String rawRequestUri;
+  private String rawODataPath;
+  private String rawBaseUri;
+  private String rawServiceResolutionUri;
+
+  public HttpMethod getMethod() {
+    return method;
+  }
+
+  public void setMethod(final HttpMethod method) {
+    this.method = method;
+  }
+
+  public Map<String, List<String>> getHeaders() {
+    return Collections.unmodifiableMap(headers);
+  }
+
+  public void setHeaders(final Map<String, List<String>> headers) {
+    this.headers = headers;
+  }
+
+  public InputStream getBody() {
+    return body;
+  }
+
+  public void setBody(final InputStream body) {
+    this.body = body;
+  }
+
+  public String getRawQueryPath() {
+    return rawQueryPath;
+  }
+
+  public void setRawQueryPath(String rawQueryPath) {
+    this.rawQueryPath = rawQueryPath;
+  }
+
+  public String getRawBaseUri() {
+    return rawBaseUri;
+  }
+
+  public String getRawRequestUri() {
+    return rawRequestUri;
+  }
+
+  public String getRawODataPath() {
+    return rawODataPath;
+  }
+
+  public void setRawRequestUri(String rawRequestUri) {
+    this.rawRequestUri = rawRequestUri;
+  }
+
+  public void setRawODataPath(String rawODataPath) {
+    this.rawODataPath = rawODataPath;
+    
+  }
+
+  public void setRawBaseUri(String rawBaseUri) {
+    this.rawBaseUri = rawBaseUri;
+  }
+
+  public String getRawServiceResolutionUri() {
+    return rawServiceResolutionUri;
+  }
+
+  public void setRawServiceResolutionUri(String rawServiceResolutionUri) {
+    this.rawServiceResolutionUri = rawServiceResolutionUri;
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataResponse.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataResponse.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataResponse.java
new file mode 100644
index 0000000..4de7aaa
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataResponse.java
@@ -0,0 +1,56 @@
+/*
+ * 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.server.api;
+
+import java.io.InputStream;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+public class ODataResponse {
+
+  private int statusCode;
+  private Map<String, String> headers = new HashMap<String, String>();
+  private InputStream content;
+
+  public void setStatusCode(final int statusCode) {
+    this.statusCode = statusCode;
+  }
+
+  public void setHeader(final String name, final String value) {
+    headers.put(name, value);
+  }
+
+  public void setContent(final InputStream content) {
+    this.content = content;
+  }
+
+  public int getStatusCode() {
+    return statusCode;
+  }
+
+  public Map<String, String> getHeaders() {
+    return Collections.unmodifiableMap(headers);
+  }
+
+  public InputStream getContent() {
+    return content;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DeleteMeProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DeleteMeProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DeleteMeProcessor.java
new file mode 100644
index 0000000..783e709
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DeleteMeProcessor.java
@@ -0,0 +1,23 @@
+/*
+ * 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.server.api.processor;
+
+public interface DeleteMeProcessor extends Processor {
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/MetadataProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/MetadataProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/MetadataProcessor.java
new file mode 100644
index 0000000..64d5c16
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/MetadataProcessor.java
@@ -0,0 +1,28 @@
+/*
+ * 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.server.api.processor;
+
+import org.apache.olingo.server.api.ODataRequest;
+import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.uri.UriInfo;
+
+public interface MetadataProcessor extends Processor{
+
+  void readMetadata(ODataRequest request, ODataResponse response, UriInfo uriInfo, String format);
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/Processor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/Processor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/Processor.java
new file mode 100644
index 0000000..014fba7
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/Processor.java
@@ -0,0 +1,28 @@
+/*
+ * 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.server.api.processor;
+
+import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.server.api.OData;
+
+public interface Processor {
+
+  void init(OData odata, Edm edm);
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ServiceDocumentProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ServiceDocumentProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ServiceDocumentProcessor.java
new file mode 100644
index 0000000..a1ef668
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ServiceDocumentProcessor.java
@@ -0,0 +1,29 @@
+/*
+ * 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.server.api.processor;
+
+import org.apache.olingo.server.api.ODataRequest;
+import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.uri.UriInfo;
+
+public interface ServiceDocumentProcessor extends Processor {
+
+  void readServiceDocument(ODataRequest request, ODataResponse response, UriInfo uriInfo, String format);
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
new file mode 100644
index 0000000..1bf9dac
--- /dev/null
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
@@ -0,0 +1,70 @@
+/*
+ * 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.server.core;
+
+import java.io.InputStream;
+
+import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.server.api.OData;
+import org.apache.olingo.server.api.ODataRequest;
+import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.processor.MetadataProcessor;
+import org.apache.olingo.server.api.processor.ServiceDocumentProcessor;
+import org.apache.olingo.server.api.serializer.ODataFormat;
+import org.apache.olingo.server.api.serializer.ODataSerializer;
+import org.apache.olingo.server.api.uri.UriInfo;
+
+public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProcessor {
+
+  private OData odata;
+  private Edm edm;
+
+  @Override
+  public void init(OData odata, Edm edm) {
+    this.odata = odata;
+    this.edm = edm;
+  }
+
+  @Override
+  public void readServiceDocument(ODataRequest request, ODataResponse response, UriInfo uriInfo, String format) {
+    ODataSerializer serializer;
+    InputStream responseEntity;
+
+    serializer = odata.createSerializer(ODataFormat.JSON);
+    responseEntity = serializer.serviceDocument(edm, request.getRawBaseUri());
+
+    response.setStatusCode(200);
+    response.setHeader("Content-Type", "application/json");
+    response.setContent(responseEntity);
+
+  }
+
+  @Override
+  public void readMetadata(ODataRequest request, ODataResponse response, UriInfo uriInfo, String format) {
+    ODataSerializer serializer;
+    InputStream responseEntity;
+
+    serializer = odata.createSerializer(ODataFormat.XML);
+    responseEntity = serializer.metadataDocument(edm);
+    response.setStatusCode(200);
+    response.setHeader("Content-Type", "application/xml");
+    response.setContent(responseEntity);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
index de8ef23..d2d9b63 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
@@ -18,52 +18,56 @@
  */
 package org.apache.olingo.server.core;
 
-import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.olingo.commons.api.ODataRuntimeException;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.server.api.OData;
-import org.apache.olingo.server.api.serializer.ODataFormat;
-import org.apache.olingo.server.api.serializer.ODataSerializer;
+import org.apache.olingo.server.api.ODataRequest;
+import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.processor.MetadataProcessor;
+import org.apache.olingo.server.api.processor.Processor;
+import org.apache.olingo.server.api.processor.ServiceDocumentProcessor;
 import org.apache.olingo.server.api.uri.UriInfo;
 import org.apache.olingo.server.core.uri.parser.Parser;
+import org.apache.olingo.server.core.uri.validator.UriValidator;
+
+import sun.reflect.generics.reflectiveObjects.NotImplementedException;
 
 public class ODataHandler {
 
-  private final OData server;
+  private final OData odata;
   private final Edm edm;
+  private Map<Class<? extends Processor>, Processor> processors = new HashMap<Class<? extends Processor>, Processor>();
 
   public ODataHandler(final OData server, final Edm edm) {
-    this.server = server;
+    this.odata = server;
     this.edm = edm;
+
+    register(new DefaultProcessor());
   }
 
-  public ODataResponse process(final ODataRequest odRequest) {
+  public ODataResponse process(final ODataRequest request) {
     try {
       ODataResponse response = new ODataResponse();
 
       Parser parser = new Parser();
       String odUri =
-          odRequest.getRawODataPath() + (odRequest.getRawQueryPath() == null ? "" : "?" + odRequest.getRawQueryPath());
+          request.getRawODataPath() + (request.getRawQueryPath() == null ? "" : "?" + request.getRawQueryPath());
       UriInfo uriInfo = parser.parseUri(odUri, edm);
 
-      ODataSerializer serializer;
-      InputStream responseEntity;
+      UriValidator validator = new UriValidator();
+      validator.validate(uriInfo, request.getMethod());
+
       switch (uriInfo.getKind()) {
       case metadata:
-        serializer = server.createSerializer(ODataFormat.XML);
-        responseEntity = serializer.metadataDocument(edm);
-        response.setStatusCode(200);
-        response.setHeader("Content-Type", "application/xml");
-        response.setContent(responseEntity);
+        MetadataProcessor mp = selectProcessor(MetadataProcessor.class);
+        mp.readMetadata(request, response, uriInfo, "application/xml");
         break;
       case service:
-        serializer = server.createSerializer(ODataFormat.JSON);
-        responseEntity = serializer.serviceDocument(edm, odRequest.getRawBaseUri());
-
-        response.setStatusCode(200);
-        response.setHeader("Content-Type", "application/json");
-        response.setContent(responseEntity);
+        ServiceDocumentProcessor sdp = selectProcessor(ServiceDocumentProcessor.class);
+        sdp.readServiceDocument(request, response, uriInfo, "application/json");
         break;
       default:
         throw new ODataRuntimeException("not implemented");
@@ -75,4 +79,28 @@ public class ODataHandler {
       throw new RuntimeException(e);
     }
   }
+
+  private <T extends Processor> T selectProcessor(Class<T> cls) {
+    @SuppressWarnings("unchecked")
+    T p = (T) processors.get(cls);
+
+    if (p == null) {
+      throw new NotImplementedException();
+    }
+
+    return p;
+  }
+
+  public void register(Processor processor) {
+
+    processor.init(odata, edm);
+
+    for (Class<?> cls : processor.getClass().getInterfaces()) {
+      if (Processor.class.isAssignableFrom(cls)) {
+        @SuppressWarnings("unchecked")
+        Class<? extends Processor> procClass = (Class<? extends Processor>) cls;
+        processors.put(procClass, processor);
+      }
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
index be61a2b..a212ea8 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
@@ -36,6 +36,9 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.http.HttpMethod;
 import org.apache.olingo.server.api.OData;
 import org.apache.olingo.server.api.ODataHttpHandler;
+import org.apache.olingo.server.api.ODataRequest;
+import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.processor.Processor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -43,19 +46,20 @@ public class ODataHttpHandlerImpl implements ODataHttpHandler {
 
   private static final Logger LOG = LoggerFactory.getLogger(ODataHttpHandlerImpl.class);
 
-  private Edm edm;
-  private OData server;
+//  private Edm edm;
+//  private OData server;
+  private ODataHandler handler;
 
   public ODataHttpHandlerImpl(final OData server, final Edm edm) {
-    this.edm = edm;
-    this.server = server;
+//    this.edm = edm;
+//    this.server = server;
+    handler = new ODataHandler(server, edm);
   }
 
   @Override
   public void process(final HttpServletRequest request, final HttpServletResponse response) {
     ODataRequest odRequest = createODataRequest(request, 0);
-
-    ODataHandler handler = new ODataHandler(server, edm);
+    
     ODataResponse odResponse = handler.process(odRequest);
 
     convertToHttp(response, odResponse);
@@ -199,4 +203,9 @@ public class ODataHttpHandlerImpl implements ODataHttpHandler {
     }
     odRequest.setHeaders(requestHeaders);
   }
+
+  @Override
+  public void register(Processor processor) {
+    handler.register(processor);
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataRequest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataRequest.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataRequest.java
deleted file mode 100644
index 2a943e4..0000000
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataRequest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * 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.server.core;
-
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.olingo.commons.api.http.HttpMethod;
-
-public class ODataRequest {
-  private HttpMethod method;
-  private Map<String, List<String>> headers = new HashMap<String, List<String>>();
-  private InputStream body;
-  private String rawQueryPath;
-  private String rawRequestUri;
-  private String rawODataPath;
-  private String rawBaseUri;
-  private String rawServiceResolutionUri;
-
-  public HttpMethod getMethod() {
-    return method;
-  }
-
-  public void setMethod(final HttpMethod method) {
-    this.method = method;
-  }
-
-  public Map<String, List<String>> getHeaders() {
-    return Collections.unmodifiableMap(headers);
-  }
-
-  public void setHeaders(final Map<String, List<String>> headers) {
-    this.headers = headers;
-  }
-
-  public InputStream getBody() {
-    return body;
-  }
-
-  public void setBody(final InputStream body) {
-    this.body = body;
-  }
-
-  public String getRawQueryPath() {
-    return rawQueryPath;
-  }
-
-  public void setRawQueryPath(String rawQueryPath) {
-    this.rawQueryPath = rawQueryPath;
-  }
-
-  public String getRawBaseUri() {
-    return rawBaseUri;
-  }
-
-  public String getRawRequestUri() {
-    return rawRequestUri;
-  }
-
-  public String getRawODataPath() {
-    return rawODataPath;
-  }
-
-  public void setRawRequestUri(String rawRequestUri) {
-    this.rawRequestUri = rawRequestUri;
-  }
-
-  public void setRawODataPath(String rawODataPath) {
-    this.rawODataPath = rawODataPath;
-    
-  }
-
-  public void setRawBaseUri(String rawBaseUri) {
-    this.rawBaseUri = rawBaseUri;
-  }
-
-  public String getRawServiceResolutionUri() {
-    return rawServiceResolutionUri;
-  }
-
-  public void setRawServiceResolutionUri(String rawServiceResolutionUri) {
-    this.rawServiceResolutionUri = rawServiceResolutionUri;
-  }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataResponse.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataResponse.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataResponse.java
deleted file mode 100644
index 79c3ac8..0000000
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataResponse.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.server.core;
-
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-public class ODataResponse {
-
-  private int statusCode;
-  private Map<String, String> headers = new HashMap<String, String>();
-  private InputStream content;
-
-  public void setStatusCode(final int statusCode) {
-    this.statusCode = statusCode;
-  }
-
-  public void setHeader(final String name, final String value) {
-    headers.put(name, value);
-  }
-
-  public void setContent(final InputStream content) {
-    this.content = content;
-  }
-
-  public int getStatusCode() {
-    return statusCode;
-  }
-
-  public Map<String, String> getHeaders() {
-    return Collections.unmodifiableMap(headers);
-  }
-
-  public InputStream getContent() {
-    return content;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java
index 295a130..9e678fc 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/validator/UriValidator.java
@@ -33,6 +33,7 @@ import org.apache.olingo.commons.api.edm.EdmReturnType;
 import org.apache.olingo.commons.api.edm.EdmSingleton;
 import org.apache.olingo.commons.api.edm.EdmType;
 import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
+import org.apache.olingo.commons.api.http.HttpMethod;
 import org.apache.olingo.server.api.uri.UriInfo;
 import org.apache.olingo.server.api.uri.UriParameter;
 import org.apache.olingo.server.api.uri.UriResource;
@@ -172,7 +173,7 @@ public class UriValidator {
     super();
   }
 
-  public void validate(final UriInfo uriInfo, final String httpMethod) throws UriValidationException {
+  public void validate(final UriInfo uriInfo, final HttpMethod httpMethod) throws UriValidationException {
     validateForHttpMethod(uriInfo, httpMethod);
     validateQueryOptions(uriInfo);
     validateKeyPredicateTypes(uriInfo);
@@ -554,7 +555,7 @@ public class UriValidator {
 
   }
 
-  private void validateForHttpMethod(final UriInfo uriInfo, final String httpMethod) throws UriValidationException {
+  private void validateForHttpMethod(final UriInfo uriInfo, final HttpMethod httpMethod) throws UriValidationException {
     RowIndexForHttpMethod row = rowIndexForHttpMethod(httpMethod);
 
     for (SystemQueryOption option : uriInfo.getSystemQueryOptions()) {
@@ -567,22 +568,29 @@ public class UriValidator {
 
   }
 
-  private RowIndexForHttpMethod rowIndexForHttpMethod(final String httpMethod) throws UriValidationException {
+  private RowIndexForHttpMethod rowIndexForHttpMethod(final HttpMethod httpMethod) throws UriValidationException {
     RowIndexForHttpMethod idx;
 
-    if ("GET".equalsIgnoreCase(httpMethod)) {
+    switch (httpMethod) {
+    case GET:
       idx = RowIndexForHttpMethod.GET;
-    } else if ("POST".equalsIgnoreCase(httpMethod)) {
+      break;
+    case POST:
       idx = RowIndexForHttpMethod.POST;
-    } else if ("PUT".equalsIgnoreCase(httpMethod)) {
+      break;
+    case PUT:
       idx = RowIndexForHttpMethod.PUT;
-    } else if ("DELETE".equalsIgnoreCase(httpMethod)) {
+      break;
+    case DELETE:
       idx = RowIndexForHttpMethod.DELETE;
-    } else if ("PATCH".equalsIgnoreCase(httpMethod)) {
+      break;
+    case PATCH:
       idx = RowIndexForHttpMethod.PATCH;
-    } else if ("MERGE".equalsIgnoreCase(httpMethod)) {
+      break;
+    case MERGE:
       idx = RowIndexForHttpMethod.MERGE;
-    } else {
+      break;
+    default:
       throw new UriValidationException("HTTP method not supported: " + httpMethod);
     }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataHttpHandlerImplTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataHttpHandlerImplTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataHttpHandlerImplTest.java
index 2bc24e1..faa82e3 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataHttpHandlerImplTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/ODataHttpHandlerImplTest.java
@@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletRequest;
 
 import org.apache.olingo.commons.api.ODataRuntimeException;
 import org.apache.olingo.commons.api.http.HttpMethod;
+import org.apache.olingo.server.api.ODataRequest;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalProcessor.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalProcessor.java
new file mode 100644
index 0000000..7f05862
--- /dev/null
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalProcessor.java
@@ -0,0 +1,39 @@
+/*
+ * 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.server.tecsvc;
+
+import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.server.api.OData;
+import org.apache.olingo.server.api.processor.Processor;
+
+public class TechnicalProcessor implements Processor {
+
+  private OData odata;
+  private Edm edm;
+
+
+  @Override
+  public void init(OData odata, Edm edm) {
+    this.odata = odata;
+    this.edm = edm;
+  }
+
+
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java
index 5ce5a84..f49cd99 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java
@@ -46,6 +46,12 @@ public class TechnicalServlet extends HttpServlet {
     Edm edm = odata.createEdm(new EdmTechProvider());
 
     ODataHttpHandler handler = odata.createHandler(edm);
+    
+    handler.register(new TechnicalProcessor());
+    
+//    handler.registerServiceDocumentProcessor(new TechnicalProcessor());
+//    handler.registerMetadataProcessor(new TechnicalProcessor());    
+    
     handler.process(req, resp);
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
index 18400d8..1b7c891 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
@@ -21,11 +21,17 @@ package org.apache.olingo.server.core;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.withSettings;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.http.HttpMethod;
 import org.apache.olingo.server.api.OData;
+import org.apache.olingo.server.api.ODataRequest;
+import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.processor.DeleteMeProcessor;
+import org.apache.olingo.server.api.processor.Processor;
 import org.apache.olingo.server.tecsvc.provider.EdmTechProvider;
 import org.junit.Before;
 import org.junit.Test;
@@ -49,9 +55,12 @@ public class ODataHandlerTest {
     request.setMethod(HttpMethod.GET);
     request.setRawBaseUri("http://localhost/odata/");
     request.setRawODataPath("");
+
+    Processor processor = mock(Processor.class, withSettings().extraInterfaces(DeleteMeProcessor.class));
+    handler.register(processor);
     
     ODataResponse response = handler.process(request);
-
+    
     assertNotNull(response);
     assertEquals(200, response.getStatusCode());
     assertEquals("application/json", response.getHeaders().get("Content-Type"));
@@ -70,6 +79,9 @@ public class ODataHandlerTest {
     request.setMethod(HttpMethod.GET);
     request.setRawODataPath("$metadata");
 
+    Processor processor = mock(Processor.class, withSettings().extraInterfaces(DeleteMeProcessor.class));
+    handler.register(processor);
+
     ODataResponse response = handler.process(request);
 
     assertNotNull(response);
@@ -80,7 +92,6 @@ public class ODataHandlerTest {
     String doc = IOUtils.toString(response.getContent());
 
     assertTrue(doc.contains("<edmx:Edmx Version=\"4.0\""));
-
   }
 
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java
index 143871a..0eadd59 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/ResourceValidator.java
@@ -29,6 +29,7 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmElement;
 import org.apache.olingo.commons.api.edm.EdmType;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.http.HttpMethod;
 import org.apache.olingo.server.api.uri.UriInfo;
 import org.apache.olingo.server.api.uri.UriInfoKind;
 import org.apache.olingo.server.api.uri.UriParameter;
@@ -92,7 +93,7 @@ public class ResourceValidator implements TestValidator {
       uriInfoTmp = (UriInfoImpl) testParser.parseUri(uri, edm);
       
       UriValidator uriValidator = new UriValidator();
-      uriValidator.validate(uriInfoTmp, "GET");
+      uriValidator.validate(uriInfoTmp, HttpMethod.GET);
     } catch (Exception e) {
       fail("Exception occured while parsing the URI: " + uri + "\n"
           + " Message: " + e.getMessage());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java
index 35687f6..47dd0ba 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TestUriValidator.java
@@ -27,6 +27,7 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmEntityType;
 import org.apache.olingo.commons.api.edm.EdmType;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.http.HttpMethod;
 import org.apache.olingo.server.api.uri.UriInfoKind;
 import org.apache.olingo.server.api.uri.queryoption.CustomQueryOption;
 import org.apache.olingo.server.api.uri.queryoption.SelectItem;
@@ -61,7 +62,7 @@ public class TestUriValidator implements TestValidator {
     uriInfo = null;
     try {
       uriInfo = (UriInfoImpl) parser.parseUri(uri, edm);
-      validator.validate(uriInfo, "GET");
+      validator.validate(uriInfo, HttpMethod.GET);
     } catch (Exception e) {
       throw new RuntimeException(e);
     }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a9ed4655/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
index 9787fab..ce087b2 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.fail;
 import java.util.ArrayList;
 
 import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.http.HttpMethod;
 import org.apache.olingo.server.api.uri.UriInfo;
 import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
 import org.apache.olingo.server.core.uri.parser.Parser;
@@ -269,32 +270,26 @@ public class UriValidatorTest {
   public void validateSelect() throws Exception {
     String[] uris = { "/ESAllPrim(1)?$select=PropertyString" };
     for (String uri : uris) {
-      parseAndValidate(uri, "GET");
+      parseAndValidate(uri, HttpMethod.GET);
     }
   }
 
-  @Test(expected = UriValidationException.class)
-  public void validateForHttpMethodsFail()  throws Exception {
-    String uri = URI_ENTITY;
-    parseAndValidate(uri, "xyz");
-  }
-  
   @Test
   public void validateForHttpMethods()  throws Exception {
     String uri = URI_ENTITY;
-    parseAndValidate(uri, "GET");
-    parseAndValidate(uri, "POST");
-    parseAndValidate(uri, "PUT");
-    parseAndValidate(uri, "DELETE");
-    parseAndValidate(uri, "PATCH");
-    parseAndValidate(uri, "MERGE");
+    parseAndValidate(uri, HttpMethod.GET);
+    parseAndValidate(uri, HttpMethod.POST);
+    parseAndValidate(uri, HttpMethod.PUT);
+    parseAndValidate(uri, HttpMethod.DELETE);
+    parseAndValidate(uri, HttpMethod.PATCH);
+    parseAndValidate(uri, HttpMethod.MERGE);
   }
   
   @Test
   public void validateOrderBy() throws Exception {
     String[] uris = { "/ESAllPrim?$orderby=PropertyString" };
     for (String uri : uris) {
-      parseAndValidate(uri, "GET");
+      parseAndValidate(uri, HttpMethod.GET);
     }
   }
 
@@ -302,25 +297,25 @@ public class UriValidatorTest {
   @Ignore("uri parser doen't support orderby yet")
   public void validateOrderByInvalid() throws Exception {
     String uri = "/ESAllPrim(1)?$orderBy=XXXX";
-    parseAndValidate(uri, "GET");
+    parseAndValidate(uri, HttpMethod.GET);
   }
 
   @Test(expected = UriValidationException.class)
   public void validateKeyPredicatesWrongKey() throws Exception {
     String uri = "ESTwoKeyNav(xxx=1, yyy='abc')";
-    parseAndValidate(uri, "GET");
+    parseAndValidate(uri, HttpMethod.GET);
   }
 
   @Test
   public void validateKeyPredicates() throws Exception {
     String uri = "ESTwoKeyNav(PropertyInt16=1, PropertyString='abc')";
-    parseAndValidate(uri, "GET");
+    parseAndValidate(uri, HttpMethod.GET);
   }
 
   @Test(expected = UriValidationException.class)
   public void validateKeyPredicatesWrongValueType() throws Exception {
     String uri = "ESTwoKeyNav(PropertyInt16='abc', PropertyString=1)";
-    parseAndValidate(uri, "GET");
+    parseAndValidate(uri, HttpMethod.GET);
   }
 
   @Test
@@ -329,7 +324,7 @@ public class UriValidatorTest {
 
     for (String uri : uris) {
       try {
-        parseAndValidate(uri, "GET");
+        parseAndValidate(uri, HttpMethod.GET);
       } catch (Exception e) {
         throw new Exception("Faild for uri: " + uri, e);
       }
@@ -342,7 +337,7 @@ public class UriValidatorTest {
 
     for (String uri : uris) {
       try {
-        parseAndValidate(uri, "GET");
+        parseAndValidate(uri, HttpMethod.GET);
         fail("Validation Exception not thrown: " + uri);
       } catch (UriValidationException e) {
         assertTrue(e instanceof UriValidationException);
@@ -368,7 +363,7 @@ public class UriValidatorTest {
     return uris.toArray(new String[0]);
   }
 
-  private void parseAndValidate(final String uri, String method) throws UriParserException, UriValidationException {
+  private void parseAndValidate(final String uri, HttpMethod method) throws UriParserException, UriValidationException {
     UriInfo uriInfo = parser.parseUri(uri.trim(), edm);
     UriValidator validator = new UriValidator();
 


[12/12] git commit: [OLINGO-266] Merge remote-tracking branch 'origin/olingo-266-tecsvc' into master

Posted by sk...@apache.org.
[OLINGO-266] Merge remote-tracking branch 'origin/olingo-266-tecsvc' into master


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

Branch: refs/heads/master
Commit: 17f173a946f811fe95eab2680fc0c04c1028434d
Parents: 2e7883f 85fb12a
Author: Stephan Klevenz <st...@sap.com>
Authored: Mon Jun 2 13:15:56 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Mon Jun 2 13:15:56 2014 +0200

----------------------------------------------------------------------
 .../apache/olingo/fit/tecsvc/BasicITCase.java   |  58 +++++++
 .../apache/olingo/fit/tecsvc/PingITCase.java    |  14 ++
 .../commons/api/http/HttpContentType.java       |  57 +++++++
 .../olingo/commons/api/http/HttpHeader.java     | 155 +++++++++++++++++++
 .../olingo/commons/api/http/HttpStatusCode.java |  99 ++++++++++++
 .../olingo/server/api/ODataHttpHandler.java     |   4 +
 .../apache/olingo/server/api/ODataRequest.java  | 103 ++++++++++++
 .../apache/olingo/server/api/ODataResponse.java |  56 +++++++
 .../server/api/processor/DefaultProcessor.java  |  70 +++++++++
 .../server/api/processor/MetadataProcessor.java |  28 ++++
 .../olingo/server/api/processor/Processor.java  |  28 ++++
 .../api/processor/ServiceDocumentProcessor.java |  29 ++++
 .../server/core/DefaultRedirectProcessor.java   |  41 +++++
 .../apache/olingo/server/core/ODataHandler.java |  74 ++++++---
 .../server/core/ODataHttpHandlerImpl.java       |  58 ++++---
 .../apache/olingo/server/core/ODataRequest.java | 103 ------------
 .../olingo/server/core/ODataResponse.java       |  56 -------
 .../olingo/server/core/RedirectProcessor.java   |  29 ++++
 .../xml/MetadataDocumentXmlSerializer.java      |   2 +-
 .../server/core/uri/validator/UriValidator.java |  28 ++--
 .../server/core/ODataHttpHandlerImplTest.java   |   1 +
 .../server/tecsvc/TechnicalProcessor.java       |  39 +++++
 .../olingo/server/tecsvc/TechnicalServlet.java  |   3 +
 .../cs02/vocabularies/Org.OData.Core.V1.xml     | 134 ++++++++++++++++
 .../olingo/server/core/ODataHandlerTest.java    |  68 +++++++-
 .../core/uri/testutil/ResourceValidator.java    |   3 +-
 .../core/uri/testutil/TestUriValidator.java     |   3 +-
 .../core/uri/validator/UriValidatorTest.java    |  37 ++---
 pom.xml                                         |  10 +-
 29 files changed, 1141 insertions(+), 249 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17f173a9/pom.xml
----------------------------------------------------------------------


[04/12] git commit: [OLINGO-266] delete dummy

Posted by sk...@apache.org.
[OLINGO-266] delete dummy


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

Branch: refs/heads/master
Commit: ef5d97762948e80969b51651b48f5fe615f544c0
Parents: df5ce63
Author: Stephan Klevenz <st...@sap.com>
Authored: Thu May 22 13:20:34 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Thu May 22 13:20:34 2014 +0200

----------------------------------------------------------------------
 .../server/api/processor/DeleteMeProcessor.java | 23 -----------
 .../olingo/server/core/ODataHandlerTest.java    | 41 ++++++++++++++++++--
 2 files changed, 37 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ef5d9776/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DeleteMeProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DeleteMeProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DeleteMeProcessor.java
deleted file mode 100644
index 783e709..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DeleteMeProcessor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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.server.api.processor;
-
-public interface DeleteMeProcessor extends Processor {
-
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ef5d9776/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
index 1b7c891..3021f27 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
@@ -22,7 +22,6 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.withSettings;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.olingo.commons.api.edm.Edm;
@@ -30,8 +29,9 @@ import org.apache.olingo.commons.api.http.HttpMethod;
 import org.apache.olingo.server.api.OData;
 import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
-import org.apache.olingo.server.api.processor.DeleteMeProcessor;
+import org.apache.olingo.server.api.processor.MetadataProcessor;
 import org.apache.olingo.server.api.processor.Processor;
+import org.apache.olingo.server.api.processor.ServiceDocumentProcessor;
 import org.apache.olingo.server.tecsvc.provider.EdmTechProvider;
 import org.junit.Before;
 import org.junit.Test;
@@ -49,6 +49,23 @@ public class ODataHandlerTest {
   }
 
   @Test
+  public void testServiceDocumentNonDefault() throws Exception {
+    ODataRequest request = new ODataRequest();
+
+    request.setMethod(HttpMethod.GET);
+    request.setRawBaseUri("http://localhost/odata/");
+    request.setRawODataPath("");
+
+    ServiceDocumentProcessor processor = mock(ServiceDocumentProcessor.class);
+    handler.register(processor);
+    
+    ODataResponse response = handler.process(request);
+    
+    assertNotNull(response);
+    assertEquals(0, response.getStatusCode());
+  }
+  
+  @Test
   public void testServiceDocumentDefault() throws Exception {
     ODataRequest request = new ODataRequest();
 
@@ -56,7 +73,7 @@ public class ODataHandlerTest {
     request.setRawBaseUri("http://localhost/odata/");
     request.setRawODataPath("");
 
-    Processor processor = mock(Processor.class, withSettings().extraInterfaces(DeleteMeProcessor.class));
+    Processor processor = mock(Processor.class);
     handler.register(processor);
     
     ODataResponse response = handler.process(request);
@@ -73,13 +90,29 @@ public class ODataHandlerTest {
   }
 
   @Test
+  public void testMetadataNonDefault() throws Exception {
+    ODataRequest request = new ODataRequest();
+
+    request.setMethod(HttpMethod.GET);
+    request.setRawODataPath("$metadata");
+
+    MetadataProcessor processor = mock(MetadataProcessor.class);
+    handler.register(processor);
+    
+    ODataResponse response = handler.process(request);
+    
+    assertNotNull(response);
+    assertEquals(0, response.getStatusCode());
+  }
+
+  @Test
   public void testMetadataDefault() throws Exception {
     ODataRequest request = new ODataRequest();
 
     request.setMethod(HttpMethod.GET);
     request.setRawODataPath("$metadata");
 
-    Processor processor = mock(Processor.class, withSettings().extraInterfaces(DeleteMeProcessor.class));
+    Processor processor = mock(Processor.class);
     handler.register(processor);
 
     ODataResponse response = handler.process(request);


[07/12] [OLINGO-266] merge origin/master

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/7dc44812/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index bfa468f,b749798..f98ae4a
--- a/pom.xml
+++ b/pom.xml
@@@ -1,500 -1,510 +1,515 @@@
  <?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">
-     <modelVersion>4.0.0</modelVersion>
- 
-     <groupId>org.apache.olingo</groupId>
-     <artifactId>olingo-parent</artifactId>
-     <version>0.1.0-SNAPSHOT</version>
-     <packaging>pom</packaging>
- 
-     <name>${project.artifactId}</name>
- 
-     <inceptionYear>2013</inceptionYear>
- 
-     <parent>
-         <groupId>org.apache</groupId>
-         <artifactId>apache</artifactId>
-         <version>14</version>
-     </parent>
- 
-     <licenses>
-         <license>
-             <name>The Apache Software License, Version 2.0</name>
-             <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-             <distribution>repo</distribution>
-         </license>
-     </licenses>
- 
-     <url>http://olingo.apache.org</url>
- 
-     <mailingLists>
-         <mailingList>
-             <name>Apache Olingo Developers Mailinglist</name>
-             <archive>http://mail-archives.apache.org/mod_mbox/olingo-dev/</archive>
-             <post>mailto:dev@olingo.apache.org</post>
-             <subscribe>mailto:dev-subscribe@olingo.apache.org</subscribe>
-         </mailingList>
-     </mailingLists>
- 
-     <modules>
-         <module>lib</module>
-         <module>ext</module>
-         <module>fit</module>
-     </modules>
- 
-     <properties>
-         <commons.codec.version>1.9</commons.codec.version>
-         <commons.io.version>2.4</commons.io.version>
-         <commons.lang3.version>3.3.2</commons.lang3.version>
-         <commons.beanutils.version>1.9.1</commons.beanutils.version>
- 
-         <commons.logging.version>1.1.3</commons.logging.version>
-         <commons.vfs.version>2.0</commons.vfs.version>
-         <esigate.version>4.3</esigate.version>
-         <servlet.version>3.0.1</servlet.version>
-         <cxf.version>2.7.11</cxf.version>
-         <spring.version>4.0.3.RELEASE</spring.version>
- 
-         <velocity.version>1.7</velocity.version>
-         <maven.plugin.api.version>3.1.0</maven.plugin.api.version>
-         <maven.plugin.tools.version>3.2</maven.plugin.tools.version>
- 
-         <hc.client.version>4.2.6</hc.client.version>
-         <jackson.version>2.3.3</jackson.version>
- 
-         <antlr.version>4.1</antlr.version>
- 
-         <sl4j.version>1.7.7</sl4j.version>
- 
-         <log.directory>${project.build.directory}/log</log.directory>
- 
-         <cargo.servlet.port>9080</cargo.servlet.port>
-         <cargo.tomcat.ajp.port>9889</cargo.tomcat.ajp.port>
-         <cargo.rmi.port>9805</cargo.rmi.port>
-         <cargo.log>${log.directory}/cargo.log</cargo.log>
-         <cargo.output>${log.directory}/cargo-output.log</cargo.output>
-         <tomcat.version>7.0.53</tomcat.version>
- 
-         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-     </properties>
- 
-     <dependencyManagement>
-         <dependencies>
-             <dependency>
-                 <groupId>commons-codec</groupId>
-                 <artifactId>commons-codec</artifactId>
-                 <version>${commons.codec.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>commons-io</groupId>
-                 <artifactId>commons-io</artifactId>
-                 <version>${commons.io.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>org.apache.commons</groupId>
-                 <artifactId>commons-lang3</artifactId>
-                 <version>${commons.lang3.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>commons-logging</groupId>
-                 <artifactId>commons-logging</artifactId>
-                 <version>${commons.logging.version}</version>
-                 <scope>provided</scope>
-             </dependency>
-             <dependency>
-                 <groupId>commons-beanutils</groupId>
-                 <artifactId>commons-beanutils</artifactId>
-                 <version>${commons.beanutils.version}</version>
-             </dependency>
- 
-             <dependency>
-                 <groupId>org.antlr</groupId>
-                 <artifactId>antlr4-runtime</artifactId>
-                 <version>${antlr.version}</version>
-             </dependency>
- 
-             <dependency>
-                 <groupId>org.apache.httpcomponents</groupId>
-                 <artifactId>httpclient</artifactId>
-                 <version>${hc.client.version}</version>
-             </dependency>
- 
-             <dependency>
-                 <groupId>com.fasterxml.jackson.core</groupId>
-                 <artifactId>jackson-core</artifactId>
-                 <version>${jackson.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>com.fasterxml.jackson.core</groupId>
-                 <artifactId>jackson-databind</artifactId>
-                 <version>${jackson.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>com.fasterxml.jackson.core</groupId>
-                 <artifactId>jackson-annotations</artifactId>
-                 <version>${jackson.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>com.fasterxml.jackson.dataformat</groupId>
-                 <artifactId>jackson-dataformat-xml</artifactId>
-                 <version>${jackson.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>com.fasterxml.jackson.jaxrs</groupId>
-                 <artifactId>jackson-jaxrs-json-provider</artifactId>
-                 <version>${jackson.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>com.fasterxml</groupId>
-                 <artifactId>aalto-xml</artifactId>
-                 <version>0.9.9</version>
-             </dependency>
- 
-             <dependency>
-                 <groupId>org.slf4j</groupId>
-                 <artifactId>slf4j-api</artifactId>
-                 <version>${sl4j.version}</version>
-             </dependency>
- 
-             <dependency>
-                 <groupId>org.apache.commons</groupId>
-                 <artifactId>commons-vfs2</artifactId>
-                 <version>${commons.vfs.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>org.esigate</groupId>
-                 <artifactId>esigate-core</artifactId>
-                 <version>${esigate.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>javax.servlet</groupId>
-                 <artifactId>javax.servlet-api</artifactId>
-                 <version>${servlet.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>org.apache.cxf</groupId>
-                 <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-                 <version>${cxf.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>org.springframework</groupId>
-                 <artifactId>spring-web</artifactId>
-                 <version>${spring.version}</version>
-             </dependency>
- 
-             <!-- Pojogen Maven Plugin depenencies -->
-             <dependency>
-                 <groupId>org.apache.velocity</groupId>
-                 <artifactId>velocity</artifactId>
-                 <version>${velocity.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>org.apache.maven</groupId>
-                 <artifactId>maven-plugin-api</artifactId>
-                 <version>${maven.plugin.api.version}</version>
-             </dependency>
-             <dependency>
-                 <groupId>org.apache.maven.plugin-tools</groupId>
-                 <artifactId>maven-plugin-annotations</artifactId>
-                 <version>${maven.plugin.tools.version}</version>
-             </dependency>
-             <!-- /Pojogen Maven Plugin depenencies -->
- 
-             <dependency>
-                 <groupId>junit</groupId>
-                 <artifactId>junit</artifactId>
-                 <version>4.11</version>
-                 <scope>test</scope>
-             </dependency>
-             <dependency>
-                 <groupId>org.mockito</groupId>
-                 <artifactId>mockito-all</artifactId>
-                 <version>1.9.5</version>
-                 <scope>test</scope>
-             </dependency>
-             <dependency>
-                 <groupId>xmlunit</groupId>
-                 <artifactId>xmlunit</artifactId>
-                 <version>1.5</version>
-                 <scope>test</scope>
-             </dependency>
-             <dependency>
-                 <groupId>org.slf4j</groupId>
-                 <artifactId>slf4j-simple</artifactId>
-                 <version>${sl4j.version}</version>
-                 <scope>test</scope>
-             </dependency>
-         </dependencies>
-     </dependencyManagement>
- 
-     <build>
-         <finalName>${project.artifactId}-${project.version}</finalName>
- 
-         <pluginManagement>
-             <plugins>
-                 <plugin>
-                     <groupId>org.apache.rat</groupId>
-                     <artifactId>apache-rat-plugin</artifactId>
-                     <version>0.10</version>
-                 </plugin>
-                 <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-checkstyle-plugin</artifactId>
-                     <version>2.12.1</version>
-                 </plugin>
-                 <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-compiler-plugin</artifactId>
-                     <version>3.1</version>
-                     <configuration>
-                         <showWarnings>true</showWarnings>
-                         <showDeprecation>true</showDeprecation>
-                         <compilerArgument>-Xlint:unchecked</compilerArgument>
-                     </configuration>
-                 </plugin>
-                 <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-eclipse-plugin</artifactId>
-                     <version>2.9</version>
-                 </plugin>
- 
-                 <plugin>
-                     <groupId>org.codehaus.cargo</groupId>
-                     <artifactId>cargo-maven2-plugin</artifactId>
-                     <version>1.4.8</version>
-                     <configuration>
-                         <container>
-                             <containerId>tomcat7x</containerId>
-                             <zipUrlInstaller>
-                                 <url>http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.zip</url>
-                                 <downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
-                                 <extractDir>${project.build.directory}/cargo/extract</extractDir>
-                             </zipUrlInstaller>
-                             <log>${cargo.log}</log>
-                             <output>${cargo.output}</output>
-                         </container>
-                     </configuration>
-                 </plugin>
- 
-                 <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-surefire-plugin</artifactId>
-                     <version>2.17</version>
-                     <configuration>
-                         <redirectTestOutputToFile>true</redirectTestOutputToFile>
-                         <runOrder>alphabetical</runOrder>
-                         <encoding>UTF-8</encoding>
-                         <inputEncoding>UTF-8</inputEncoding>
-                         <outputEncoding>UTF-8</outputEncoding>
-                         <argLine>-Dfile.encoding=UTF-8</argLine>
-                     </configuration>
-                 </plugin>
-                 <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-failsafe-plugin</artifactId>
-                     <version>2.17</version>
-                     <configuration>
-                         <redirectTestOutputToFile>true</redirectTestOutputToFile>
-                         <runOrder>alphabetical</runOrder>
-                         <encoding>UTF-8</encoding>
-                         <inputEncoding>UTF-8</inputEncoding>
-                         <outputEncoding>UTF-8</outputEncoding>
-                         <argLine>-Dfile.encoding=UTF-8</argLine>
-                     </configuration>
-                     <executions>
-                         <execution>
-                             <id>integration-test</id>
-                             <goals>
-                                 <goal>integration-test</goal>
-                                 <goal>verify</goal>
-                             </goals>
-                         </execution>
-                     </executions>
-                 </plugin>
- 
-                 <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-resources-plugin</artifactId>
-                     <version>2.6</version>
-                     <configuration>
-                         <encoding>UTF-8</encoding>
-                         <useDefaultDelimiters>false</useDefaultDelimiters>
-                         <delimiters>
-                             <delimiter>${*}</delimiter>
-                         </delimiters>
-                     </configuration>
-                 </plugin>
- 
-                 <plugin>
-                     <groupId>org.sonatype.plugins</groupId>
-                     <artifactId>jarjar-maven-plugin</artifactId>
-                     <version>1.8</version>
-                 </plugin>
- 
-                 <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-war-plugin</artifactId>
-                     <version>2.4</version>
-                 </plugin>
- 
-                 <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-invoker-plugin</artifactId>
-                     <version>1.8</version>
-                 </plugin>
- 
-                 <plugin>
-                     <groupId>org.apache.maven.plugins</groupId>
-                     <artifactId>maven-javadoc-plugin</artifactId>
-                     <version>2.9.1</version>
-                 </plugin>
-                 <plugin>
-                     <groupId>com.keyboardsamurais.maven</groupId>
-                     <artifactId>maven-timestamp-plugin</artifactId>
-                     <version>1.0</version>
-                 </plugin>
-             </plugins>
-         </pluginManagement>
+          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>
+ 
+   <groupId>org.apache.olingo</groupId>
+   <artifactId>olingo-parent</artifactId>
+   <version>0.1.0-SNAPSHOT</version>
+   <packaging>pom</packaging>
+ 
+   <name>${project.artifactId}</name>
+ 
+   <inceptionYear>2013</inceptionYear>
+ 
+   <parent>
+     <groupId>org.apache</groupId>
+     <artifactId>apache</artifactId>
+     <version>14</version>
+   </parent>
+ 
+   <licenses>
+     <license>
+       <name>The Apache Software License, Version 2.0</name>
+       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+       <distribution>repo</distribution>
+     </license>
+   </licenses>
+ 
+   <url>http://olingo.apache.org</url>
+ 
+   <mailingLists>
+     <mailingList>
+       <name>Apache Olingo Developers Mailinglist</name>
+       <archive>http://mail-archives.apache.org/mod_mbox/olingo-dev/</archive>
+       <post>mailto:dev@olingo.apache.org</post>
+       <subscribe>mailto:dev-subscribe@olingo.apache.org</subscribe>
+     </mailingList>
+   </mailingLists>
+ 
+   <modules>
+     <module>lib</module>
+     <module>ext</module>
+     <module>fit</module>
+   </modules>
+ 
+   <properties>
+     <commons.codec.version>1.9</commons.codec.version>
+     <commons.io.version>2.4</commons.io.version>
+     <commons.lang3.version>3.3.2</commons.lang3.version>
+     <commons.beanutils.version>1.9.1</commons.beanutils.version>
+ 
+     <commons.logging.version>1.1.3</commons.logging.version>
+     <commons.vfs.version>2.0</commons.vfs.version>
+     <esigate.version>4.3</esigate.version>
+     <servlet.version>3.0.1</servlet.version>
+     <cxf.version>2.7.11</cxf.version>
+     <spring.version>4.0.3.RELEASE</spring.version>
+ 
+     <velocity.version>1.7</velocity.version>
+     <maven.plugin.api.version>3.1.0</maven.plugin.api.version>
+     <maven.plugin.tools.version>3.2</maven.plugin.tools.version>
+ 
+     <hc.client.version>4.2.6</hc.client.version>
+     <jackson.version>2.3.3</jackson.version>
+ 
+     <antlr.version>4.1</antlr.version>
+ 
+     <sl4j.version>1.7.7</sl4j.version>
+ 
+     <log.directory>${project.build.directory}/log</log.directory>
+ 
+     <cargo.servlet.port>9080</cargo.servlet.port>
+     <cargo.tomcat.ajp.port>9889</cargo.tomcat.ajp.port>
+     <cargo.rmi.port>9805</cargo.rmi.port>
+     <cargo.log>${log.directory}/cargo.log</cargo.log>
+     <cargo.output>${log.directory}/cargo-output.log</cargo.output>
+     <tomcat.version>7.0.53</tomcat.version>
+ 
+     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+   </properties>
+ 
+   <dependencyManagement>
+     <dependencies>
+       <dependency>
+         <groupId>commons-codec</groupId>
+         <artifactId>commons-codec</artifactId>
+         <version>${commons.codec.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>commons-io</groupId>
+         <artifactId>commons-io</artifactId>
+         <version>${commons.io.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>org.apache.commons</groupId>
+         <artifactId>commons-lang3</artifactId>
+         <version>${commons.lang3.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>commons-logging</groupId>
+         <artifactId>commons-logging</artifactId>
+         <version>${commons.logging.version}</version>
+         <scope>provided</scope>
+       </dependency>
+       <dependency>
+         <groupId>commons-beanutils</groupId>
+         <artifactId>commons-beanutils</artifactId>
+         <version>${commons.beanutils.version}</version>
+       </dependency>
+ 
+       <dependency>
+         <groupId>org.antlr</groupId>
+         <artifactId>antlr4-runtime</artifactId>
+         <version>${antlr.version}</version>
+       </dependency>
+ 
+       <dependency>
+         <groupId>org.apache.httpcomponents</groupId>
+         <artifactId>httpclient</artifactId>
+         <version>${hc.client.version}</version>
+       </dependency>
+ 
+       <dependency>
+         <groupId>com.fasterxml.jackson.core</groupId>
+         <artifactId>jackson-core</artifactId>
+         <version>${jackson.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>com.fasterxml.jackson.core</groupId>
+         <artifactId>jackson-databind</artifactId>
+         <version>${jackson.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>com.fasterxml.jackson.core</groupId>
+         <artifactId>jackson-annotations</artifactId>
+         <version>${jackson.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>com.fasterxml.jackson.dataformat</groupId>
+         <artifactId>jackson-dataformat-xml</artifactId>
+         <version>${jackson.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>com.fasterxml.jackson.jaxrs</groupId>
+         <artifactId>jackson-jaxrs-json-provider</artifactId>
+         <version>${jackson.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>com.fasterxml</groupId>
+         <artifactId>aalto-xml</artifactId>
+         <version>0.9.9</version>
+       </dependency>
+ 
+       <dependency>
+         <groupId>org.slf4j</groupId>
+         <artifactId>slf4j-api</artifactId>
+         <version>${sl4j.version}</version>
+       </dependency>
+ 
+       <dependency>
+         <groupId>org.apache.commons</groupId>
+         <artifactId>commons-vfs2</artifactId>
+         <version>${commons.vfs.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>org.esigate</groupId>
+         <artifactId>esigate-core</artifactId>
+         <version>${esigate.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>javax.servlet</groupId>
+         <artifactId>javax.servlet-api</artifactId>
+         <version>${servlet.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>org.apache.cxf</groupId>
+         <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+         <version>${cxf.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>org.springframework</groupId>
+         <artifactId>spring-web</artifactId>
+         <version>${spring.version}</version>
+       </dependency>
+ 
+       <!-- Pojogen Maven Plugin depenencies -->
+       <dependency>
+         <groupId>org.apache.velocity</groupId>
+         <artifactId>velocity</artifactId>
+         <version>${velocity.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>org.apache.maven</groupId>
+         <artifactId>maven-plugin-api</artifactId>
+         <version>${maven.plugin.api.version}</version>
+       </dependency>
+       <dependency>
+         <groupId>org.apache.maven.plugin-tools</groupId>
+         <artifactId>maven-plugin-annotations</artifactId>
+         <version>${maven.plugin.tools.version}</version>
+       </dependency>
+       <!-- /Pojogen Maven Plugin depenencies -->
+ 
+       <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <version>4.11</version>
+         <scope>test</scope>
+       </dependency>
+       <dependency>
+         <groupId>org.mockito</groupId>
+         <artifactId>mockito-all</artifactId>
+         <version>1.9.5</version>
+         <scope>test</scope>
+       </dependency>
+       <dependency>
+         <groupId>xmlunit</groupId>
+         <artifactId>xmlunit</artifactId>
+         <version>1.5</version>
+         <scope>test</scope>
+       </dependency>
+       <dependency>
+         <groupId>org.slf4j</groupId>
+         <artifactId>slf4j-simple</artifactId>
+         <version>${sl4j.version}</version>
+         <scope>test</scope>
+       </dependency>
+     </dependencies>
+   </dependencyManagement>
+ 
+   <build>
+     <finalName>${project.artifactId}-${project.version}</finalName>
+ 
+     <pluginManagement>
+       <plugins>
+         <plugin>
++            <groupId>com.keyboardsamurais.maven</groupId>
++            <artifactId>maven-timestamp-plugin</artifactId>
++            <version>1.0</version>
++        </plugin>
++        <plugin>
+           <groupId>org.apache.rat</groupId>
+           <artifactId>apache-rat-plugin</artifactId>
+           <version>0.10</version>
+         </plugin>
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-checkstyle-plugin</artifactId>
+           <version>2.12.1</version>
+         </plugin>
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-compiler-plugin</artifactId>
+           <version>3.1</version>
+           <configuration>
+             <showWarnings>true</showWarnings>
+             <showDeprecation>true</showDeprecation>
+             <compilerArgument>-Xlint:unchecked</compilerArgument>
+           </configuration>
+         </plugin>
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-eclipse-plugin</artifactId>
+           <version>2.9</version>
+         </plugin>
+ 
+         <plugin>
+           <groupId>org.codehaus.cargo</groupId>
+           <artifactId>cargo-maven2-plugin</artifactId>
+           <version>1.4.8</version>
+           <configuration>
+             <container>
+               <containerId>tomcat7x</containerId>
+               <zipUrlInstaller>
+                 <url>http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.zip</url>
+                 <downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
+                 <extractDir>${project.build.directory}/cargo/extract</extractDir>
+               </zipUrlInstaller>
+               <log>${cargo.log}</log>
+               <output>${cargo.output}</output>
+             </container>
+           </configuration>
+         </plugin>
+ 
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-surefire-plugin</artifactId>
+           <version>2.17</version>
+           <configuration>
+             <redirectTestOutputToFile>true</redirectTestOutputToFile>
+             <runOrder>alphabetical</runOrder>
+             <encoding>UTF-8</encoding>
+             <inputEncoding>UTF-8</inputEncoding>
+             <outputEncoding>UTF-8</outputEncoding>
+             <argLine>-Dfile.encoding=UTF-8</argLine>
+           </configuration>
+         </plugin>
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-failsafe-plugin</artifactId>
+           <version>2.17</version>
+           <configuration>
+             <redirectTestOutputToFile>true</redirectTestOutputToFile>
+             <runOrder>alphabetical</runOrder>
+             <encoding>UTF-8</encoding>
+             <inputEncoding>UTF-8</inputEncoding>
+             <outputEncoding>UTF-8</outputEncoding>
+             <argLine>-Dfile.encoding=UTF-8</argLine>
+           </configuration>
+           <executions>
+             <execution>
+               <id>integration-test</id>
+               <goals>
+                 <goal>integration-test</goal>
+                 <goal>verify</goal>
+               </goals>
+             </execution>
+           </executions>
+         </plugin>
+ 
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-resources-plugin</artifactId>
+           <version>2.6</version>
+           <configuration>
+             <encoding>UTF-8</encoding>
+             <useDefaultDelimiters>false</useDefaultDelimiters>
+             <delimiters>
+               <delimiter>${*}</delimiter>
+             </delimiters>
+           </configuration>
+         </plugin>
+ 
+         <plugin>
+           <groupId>org.sonatype.plugins</groupId>
+           <artifactId>jarjar-maven-plugin</artifactId>
+           <version>1.8</version>
+         </plugin>
+ 
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-war-plugin</artifactId>
+           <version>2.4</version>
+         </plugin>
+ 
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-invoker-plugin</artifactId>
+           <version>1.8</version>
+         </plugin>
+ 
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-javadoc-plugin</artifactId>
+           <version>2.9.1</version>
+         </plugin>
+         <plugin>
+           <groupId>com.keyboardsamurais.maven</groupId>
+           <artifactId>maven-timestamp-plugin</artifactId>
+           <version>1.0</version>
+         </plugin>
+       </plugins>
+     </pluginManagement>
+ 
+     <plugins>
+       <plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+         <artifactId>maven-compiler-plugin</artifactId>
+         <configuration>
+           <source>1.6</source>
+           <target>1.6</target>
+         </configuration>
+       </plugin>
+       <plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+         <artifactId>maven-eclipse-plugin</artifactId>
+         <configuration>
+           <addGroupIdToProjectName>true</addGroupIdToProjectName>
+           <addVersionToProjectName>true</addVersionToProjectName>
+           <wtpversion>2.0</wtpversion>
+           <downloadSources>true</downloadSources>
+           <downloadJavadocs>true</downloadJavadocs>
+ 
+           <sourceExcludes>
+             <excludes>
+               target/**
+             </excludes>
+           </sourceExcludes>
+ 
+         </configuration>
+       </plugin>
+       <plugin>
+         <artifactId>maven-checkstyle-plugin</artifactId>
+         <executions>
+           <execution>
+             <id>checkstyle</id>
+             <phase>verify</phase>
+             <goals>
+               <goal>check</goal>
+             </goals>
+           </execution>
+         </executions>
+         <configuration>
+           <outputFileFormat>xml</outputFileFormat>
+           <consoleOutput>true</consoleOutput>
+           <enableRSS>false</enableRSS>
+           <linkXRef>false</linkXRef>
+           <configLocation>src/checkstyle/config.xml</configLocation>
+           <sourceDirectory>${basedir}/src</sourceDirectory>
+           <encoding>UTF-8</encoding>
+           <failOnViolation>true</failOnViolation>
+           <violationSeverity>warning</violationSeverity>
+           <!-- fit autogenerated (via pojogen plugin) resources -->
+           <excludes>**/fit/proxy/v4/staticservice/**/*.java,
+             **/fit/proxy/v3/staticservice/**/*.java,
+             **/fit/proxy/v3/actionoverloading/**/*.java,
+             **/fit/proxy/v3/primitivekeys/**/*.java,
+             **/fit/proxy/v3/opentype/**/*.java,
+             **/fit/proxy/v4/opentype/**/*.java,
+             **/fit/proxy/v4/demo/**/*.java</excludes>
+         </configuration>
+       </plugin>
+       <plugin>
+         <groupId>org.apache.rat</groupId>
+         <artifactId>apache-rat-plugin</artifactId>
+         <executions>
+           <execution>
+             <id>rat-check</id>
+             <phase>test</phase>
+             <goals>
+               <goal>check</goal>
+             </goals>
+             <configuration>
+               <excludes>
+                 <exclude>**/META-INF/**</exclude>
+                 <exclude>**/*.txt</exclude>
+                 <exclude>**/*.ini</exclude>
+                 <exclude>**/*.bin</exclude>
+                 <exclude>**/MANIFEST.MF</exclude>
+                 <exclude>.gitignore</exclude>
+                 <exclude>.git/**</exclude>
+                 <exclude>bin/**</exclude>
+                 <exclude>**/*.local</exclude>
+                 <exclude>**/*.project</exclude>
+                 <exclude>**/*.classpath</exclude>
+                 <exclude>**/*.json</exclude>
+                 <exclude>**/*.batch</exclude>
+                 <exclude>**/NOTICE</exclude>
+                 <exclude>**/DEPENDENCIES</exclude>
+                 <exclude>**/nb-configuration.xml</exclude>
+                 <exclude>**/.externalToolBuilders/**</exclude>
+                 <exclude>**/maven-eclipse.xml</exclude>
+                 <exclude>**/ref/**</exclude>
+                 <exclude>**/server-ref/**</exclude>
+               </excludes>
+             </configuration>
+           </execution>
+         </executions>
+       </plugin>
+     </plugins>
+   </build>
+ 
+   <profiles>
+     <profile>
+       <id>javadocs</id>
+ 
+       <build>
+         <defaultGoal>javadoc:aggregate</defaultGoal>
  
          <plugins>
-             <plugin>
-                 <groupId>org.apache.maven.plugins</groupId>
-                 <artifactId>maven-compiler-plugin</artifactId>
-                 <configuration>
-                     <source>1.6</source>
-                     <target>1.6</target>
-                 </configuration>
-             </plugin>
-             <plugin>
-                 <groupId>org.apache.maven.plugins</groupId>
-                 <artifactId>maven-eclipse-plugin</artifactId>
-                 <configuration>
-                     <addGroupIdToProjectName>true</addGroupIdToProjectName>
-                     <addVersionToProjectName>true</addVersionToProjectName>
-                     <wtpversion>2.0</wtpversion>
-                     <downloadSources>true</downloadSources>
-                     <downloadJavadocs>true</downloadJavadocs>
- 
-                     <sourceExcludes>
-                         <excludes>
-                             target/**
-                         </excludes>
-                     </sourceExcludes>
- 
-                 </configuration>
-             </plugin>
-             <plugin>
-                 <artifactId>maven-checkstyle-plugin</artifactId>
-                 <executions>
-                     <execution>
-                         <id>checkstyle</id>
-                         <phase>verify</phase>
-                         <goals>
-                             <goal>check</goal>
-                         </goals>
-                     </execution>
-                 </executions>
-                 <configuration>
-                     <outputFileFormat>xml</outputFileFormat>
-                     <consoleOutput>true</consoleOutput>
-                     <enableRSS>false</enableRSS>
-                     <linkXRef>false</linkXRef>
-                     <configLocation>src/checkstyle/config.xml</configLocation>
-                     <sourceDirectory>${basedir}/src</sourceDirectory>
-                     <encoding>UTF-8</encoding>
-                     <failOnViolation>true</failOnViolation>
-                     <violationSeverity>warning</violationSeverity>
-                     <!-- fit autogenerated (via pojogen plugin) resources -->
-                     <excludes>**/fit/proxy/v4/staticservice/**/*.java,
-                         **/fit/proxy/v3/staticservice/**/*.java,
-                         **/fit/proxy/v3/actionoverloading/**/*.java,
-                         **/fit/proxy/v3/primitivekeys/**/*.java,
-                         **/fit/proxy/v3/opentype/**/*.java,
-                         **/fit/proxy/v4/opentype/**/*.java,
-                         **/fit/proxy/v4/demo/**/*.java</excludes>
-                 </configuration>
-             </plugin>
-             <plugin>
-                 <groupId>org.apache.rat</groupId>
-                 <artifactId>apache-rat-plugin</artifactId>
-                 <executions>
-                     <execution>
-                         <id>rat-check</id>
-                         <phase>test</phase>
-                         <goals>
-                             <goal>check</goal>
-                         </goals>
-                         <configuration>
-                             <excludes>
-                                 <exclude>**/META-INF/**</exclude>
-                                 <exclude>**/*.txt</exclude>
-                                 <exclude>**/*.ini</exclude>
-                                 <exclude>**/*.bin</exclude>
-                                 <exclude>**/MANIFEST.MF</exclude>
-                                 <exclude>.gitignore</exclude>
-                                 <exclude>.git/**</exclude>
-                                 <exclude>bin/**</exclude>
-                                 <exclude>**/*.local</exclude>
-                                 <exclude>**/*.project</exclude>
-                                 <exclude>**/*.classpath</exclude>
-                                 <exclude>**/*.json</exclude>
-                                 <exclude>**/*.batch</exclude>
-                                 <exclude>**/NOTICE</exclude>
-                                 <exclude>**/DEPENDENCIES</exclude>
-                                 <exclude>**/nb-configuration.xml</exclude>
-                                 <exclude>**/.externalToolBuilders/**</exclude>
-                                 <exclude>**/maven-eclipse.xml</exclude>
-                                 <exclude>**/ref/**</exclude>
-                                 <exclude>**/server-ref/**</exclude>
-                             </excludes>
-                         </configuration>
-                     </execution>
-                 </executions>
-             </plugin>
+           <plugin>
+             <groupId>org.apache.maven.plugins</groupId>
+             <artifactId>maven-javadoc-plugin</artifactId>
+             <inherited>true</inherited>
+             <configuration>
+               <destDir>javadocs</destDir>
+               <detectLinks>true</detectLinks>
+               <detectJavaApiLink>true</detectJavaApiLink>
+               <links>
+                 <link>http://docs.oracle.com/javaee/6/api/</link>
+                 <link>http://www.slf4j.org/api/</link>
+                 <link>http://commons.apache.org/proper/commons-lang/javadocs/api-release/</link>
+                 <link>http://commons.apache.org/proper/commons-io/javadocs/api-release/</link>
+                 <link>http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.1/apidocs/</link>
+                 <link>http://commons.apache.org/proper/commons-codec/archives/1.9/apidocs/</link>
+                 <link>http://www.viste.com/Java/Language/http-client/httpcomponents-client-4.2.3-bin/httpcomponents-client-4.2.3/javadoc/</link>
+                 <link>http://fasterxml.github.io/jackson-databind/javadoc/2.3.0/</link>
+               </links>
+             </configuration>
+           </plugin>
          </plugins>
-     </build>
- 
-     <profiles>
-         <profile>
-             <id>javadocs</id>
- 
-             <build>
-                 <defaultGoal>javadoc:aggregate</defaultGoal>
- 
-                 <plugins>
-                     <plugin>
-                         <groupId>org.apache.maven.plugins</groupId>
-                         <artifactId>maven-javadoc-plugin</artifactId>
-                         <inherited>true</inherited>
-                         <configuration>
-                             <destDir>javadocs</destDir>
-                             <detectLinks>true</detectLinks>
-                             <detectJavaApiLink>true</detectJavaApiLink>
-                             <links>
-                                 <link>http://docs.oracle.com/javaee/6/api/</link>
-                                 <link>http://www.slf4j.org/api/</link>
-                                 <link>http://commons.apache.org/proper/commons-lang/javadocs/api-release/</link>
-                                 <link>http://commons.apache.org/proper/commons-io/javadocs/api-release/</link>
-                                 <link>http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.1/apidocs/</link>
-                                 <link>http://commons.apache.org/proper/commons-codec/archives/1.9/apidocs/</link>
-                                 <link>http://www.viste.com/Java/Language/http-client/httpcomponents-client-4.2.3-bin/httpcomponents-client-4.2.3/javadoc/</link>
-                                 <link>http://fasterxml.github.io/jackson-databind/javadoc/2.3.0/</link>
-                             </links>
-                         </configuration>
-                     </plugin>
-                 </plugins>
-             </build>
-         </profile>
-     </profiles>
+       </build>
+     </profile>
+   </profiles>
  </project>


[06/12] git commit: [OLINGO-266] first client base FIT test (service document)

Posted by sk...@apache.org.
[OLINGO-266] first client base FIT test (service document)


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

Branch: refs/heads/master
Commit: b40ae95b7fffd570df88183a7d7a397964e7b5e6
Parents: 44e0c64
Author: Stephan Klevenz <st...@sap.com>
Authored: Fri May 23 12:42:08 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Fri May 23 12:42:08 2014 +0200

----------------------------------------------------------------------
 .../apache/olingo/fit/tecsvc/BasicITCase.java   | 60 ++++++++++++++++++++
 .../apache/olingo/fit/tecsvc/PingITCase.java    | 14 ++---
 2 files changed, 66 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b40ae95b/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
new file mode 100644
index 0000000..8a610b5
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
@@ -0,0 +1,60 @@
+/*
+ * 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.fit.tecsvc;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.olingo.client.api.communication.request.retrieve.EdmMetadataRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataServiceDocumentRequest;
+import org.apache.olingo.client.api.v4.ODataClient;
+import org.apache.olingo.client.core.ODataClientFactory;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.edm.Edm;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+public class BasicITCase {
+
+  private static final String BASE_URI = "http://localhost:9080/tecsvc/odata.svc";
+
+  private ODataClient odata;
+
+  @Before
+  public void before() {
+    odata = ODataClientFactory.getV4();
+  }
+
+  @Test
+  public void readServiceDocument() {
+    ODataServiceDocumentRequest request = odata.getRetrieveRequestFactory().getServiceDocumentRequest(BASE_URI + "/");
+    assertNotNull(request);
+    ODataServiceDocument serviceDocument = request.execute().getBody();
+    assertNotNull(serviceDocument);
+  }
+
+  @Test
+  @Ignore
+  public void readMetadata() {
+    EdmMetadataRequest request = odata.getRetrieveRequestFactory().getMetadataRequest(BASE_URI + "/$metadata");
+    assertNotNull(request);
+    Edm edm = request.execute().getBody();
+    assertNotNull(edm);
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b40ae95b/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java
index c13de43..3b9bbf4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java
@@ -23,14 +23,12 @@ import static org.junit.Assert.assertEquals;
 import java.net.HttpURLConnection;
 import java.net.URL;
 
-import org.apache.olingo.commons.api.http.HttpHeader;
-import org.apache.olingo.commons.api.http.HttpStatusCode;
 import org.junit.Test;
 
 public class PingITCase {
 
-  private static final String REF_SERVICE_REDIRECT = "http://localhost:9080/tecsvc/odata.svc";
-  private static final String REF_SERVICE = REF_SERVICE_REDIRECT + "/";
+  private static final String REF_SERVICE = "http://localhost:9080/tecsvc/odata.svc/";
+  private static final String REDIRECT_URL = "http://localhost:9080/tecsvc/odata.svc";
 
   @Test
   public void ping() throws Exception {
@@ -46,15 +44,15 @@ public class PingITCase {
 
   @Test
   public void redirect() throws Exception {
-    URL url = new URL(REF_SERVICE_REDIRECT);
+
+    URL url = new URL(REDIRECT_URL);
 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection();
     connection.setRequestMethod("GET");
     connection.connect();
 
     int code = connection.getResponseCode();
-
-    assertEquals(HttpStatusCode.TEMPORARY_REDIRECT, code);
-    assertEquals("/", connection.getHeaderField(HttpHeader.LOCATION));
+    assertEquals(200, code);
   }
+
 }


[09/12] git commit: [OLINGO-266] fit metadata and service document

Posted by sk...@apache.org.
[OLINGO-266] fit metadata and service document


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

Branch: refs/heads/master
Commit: e57edd71dd9b8d9e3b68b0a856d74d2e4a2051a5
Parents: 7dc4481
Author: Stephan Klevenz <st...@sap.com>
Authored: Mon May 26 10:58:11 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Mon May 26 10:58:11 2014 +0200

----------------------------------------------------------------------
 .../org/apache/olingo/fit/tecsvc/BasicITCase.java |  2 --
 .../olingo/server/core/ODataHttpHandlerImpl.java  |  4 ++--
 .../xml/MetadataDocumentXmlSerializer.java        | 18 +++++++++---------
 pom.xml                                           |  5 -----
 4 files changed, 11 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/e57edd71/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
index 8a610b5..462272f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/BasicITCase.java
@@ -27,7 +27,6 @@ import org.apache.olingo.client.core.ODataClientFactory;
 import org.apache.olingo.commons.api.domain.ODataServiceDocument;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 public class BasicITCase {
@@ -50,7 +49,6 @@ public class BasicITCase {
   }
 
   @Test
-  @Ignore
   public void readMetadata() {
     EdmMetadataRequest request = odata.getRetrieveRequestFactory().getMetadataRequest(BASE_URI + "/$metadata");
     assertNotNull(request);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/e57edd71/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
index 3703e6b..577728c 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
@@ -49,8 +49,8 @@ public class ODataHttpHandlerImpl implements ODataHttpHandler {
 
   private ODataHandler handler;
 
-  public ODataHttpHandlerImpl(final OData server, final Edm edm) {
-    handler = new ODataHandler(server, edm);
+  public ODataHttpHandlerImpl(final OData odata, final Edm edm) {
+    handler = new ODataHandler(odata, edm);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/e57edd71/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
index a8629d8..999cb36 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
@@ -529,14 +529,14 @@ public class MetadataDocumentXmlSerializer {
   }
 
   private void appendReference(final XMLStreamWriter writer) throws XMLStreamException {
-    writer.writeStartElement(NS_EDMX, "Reference");
-    // TODO: Where is this value comming from?
-    writer.writeAttribute("Uri", "http://docs.oasis-open.org/odata/odata/v4.0/cs02/vocabularies/Org.OData.Core.V1.xml");
-    writer.writeEmptyElement(NS_EDMX, "Include");
-    // TODO: Where is this value comming from?
-    writer.writeAttribute(XML_NAMESPACE, "Org.OData.Core.V1");
-    // TODO: Where is this value comming from?
-    writer.writeAttribute(XML_ALIAS, "Core");
-    writer.writeEndElement();
+//    writer.writeStartElement(NS_EDMX, "Reference");
+//    // TODO: Where is this value comming from?
+// writer.writeAttribute("Uri", "http://docs.oasis-open.org/odata/odata/v4.0/cs02/vocabularies/Org.OData.Core.V1.xml");
+//    writer.writeEmptyElement(NS_EDMX, "Include");
+//    // TODO: Where is this value comming from?
+//    writer.writeAttribute(XML_NAMESPACE, "Org.OData.Core.V1");
+//    // TODO: Where is this value comming from?
+//    writer.writeAttribute(XML_ALIAS, "Core");
+//    writer.writeEndElement();
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/e57edd71/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index f98ae4a..d68815e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -374,11 +374,6 @@
           <artifactId>maven-javadoc-plugin</artifactId>
           <version>2.9.1</version>
         </plugin>
-        <plugin>
-          <groupId>com.keyboardsamurais.maven</groupId>
-          <artifactId>maven-timestamp-plugin</artifactId>
-          <version>1.0</version>
-        </plugin>
       </plugins>
     </pluginManagement>
 


[08/12] git commit: [OLINGO-266] merge origin/master

Posted by sk...@apache.org.
[OLINGO-266] merge origin/master


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

Branch: refs/heads/master
Commit: 7dc44812c141541a528c3d97954560f652077413
Parents: b40ae95 696c586
Author: Stephan Klevenz <st...@sap.com>
Authored: Fri May 23 12:50:32 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Fri May 23 12:50:32 2014 +0200

----------------------------------------------------------------------
 ODataJClient/.gitignore                         |    3 -
 ODataJClient/LICENSE                            |  201 ---
 ODataJClient/engine-xml/pom.xml                 |   95 --
 ODataJClient/engine/.gitignore                  |    2 -
 ODataJClient/engine/pom.xml                     |  275 ----
 .../engine/client/AbstractConfiguration.java    |  208 ---
 .../engine/client/AbstractODataClient.java      |   38 -
 .../engine/client/Configuration.java            |  206 ---
 .../odatajclient/engine/client/ODataClient.java |   77 -
 .../engine/client/ODataClientFactory.java       |   34 -
 .../engine/client/ODataV3Client.java            |  150 --
 .../engine/client/ODataV4Client.java            |  150 --
 .../engine/client/V3Configuration.java          |   29 -
 .../engine/client/V4Configuration.java          |   29 -
 .../AbstractBasicAuthHttpClientFactory.java     |   49 -
 .../http/AbstractNTLMAuthHttpClientFactory.java |   61 -
 .../client/http/DefaultHttpClientFactory.java   |   37 -
 .../http/DefaultHttpUriRequestFactory.java      |   66 -
 .../engine/client/http/HttpClientException.java |   76 -
 .../engine/client/http/HttpClientFactory.java   |   30 -
 .../engine/client/http/HttpMerge.java           |   70 -
 .../engine/client/http/HttpMethod.java          |   33 -
 .../engine/client/http/HttpPatch.java           |   70 -
 .../client/http/HttpUriRequestFactory.java      |   30 -
 .../engine/client/http/NoContentException.java  |   36 -
 .../ODataClientErrorException.java              |  110 --
 .../ODataServerErrorException.java              |   38 -
 .../communication/header/ODataHeaderValues.java |   45 -
 .../communication/header/ODataHeaders.java      |  253 ---
 .../request/AbstractODataBasicRequestImpl.java  |  124 --
 .../request/ODataBasicRequest.java              |   54 -
 .../communication/request/ODataRequest.java     |  197 ---
 .../communication/request/ODataRequestImpl.java |  481 ------
 .../request/ODataStreamManager.java             |  184 ---
 .../communication/request/ODataStreamer.java    |  104 --
 .../communication/request/UpdateType.java       |   56 -
 .../batch/AbstractBatchRequestFactory.java      |   40 -
 .../request/batch/BatchRequestFactory.java      |   35 -
 .../request/batch/ODataBatchController.java     |   87 --
 .../request/batch/ODataBatchLineIterator.java   |   95 --
 .../request/batch/ODataBatchRequest.java        |  259 ----
 .../request/batch/ODataBatchRequestItem.java    |  121 --
 .../request/batch/ODataBatchResponseItem.java   |  149 --
 .../batch/ODataBatchResponseManager.java        |  147 --
 .../request/batch/ODataBatchUtilities.java      |  330 ----
 .../request/batch/ODataBatchableRequest.java    |   47 -
 .../request/batch/ODataChangeset.java           |  124 --
 .../batch/ODataChangesetResponseItem.java       |  131 --
 .../request/batch/ODataRetrieve.java            |   81 -
 .../batch/ODataRetrieveResponseItem.java        |   86 --
 .../request/batch/V3BatchRequestFactory.java    |   31 -
 .../request/batch/V4BatchRequestFactory.java    |   31 -
 .../request/cud/AbstractCUDRequestFactory.java  |  189 ---
 .../request/cud/CUDRequestFactory.java          |  145 --
 .../request/cud/ODataDeleteRequest.java         |   92 --
 .../request/cud/ODataEntityCreateRequest.java   |  124 --
 .../request/cud/ODataEntityUpdateRequest.java   |  130 --
 .../request/cud/ODataLinkCreateRequest.java     |  107 --
 .../request/cud/ODataLinkUpdateRequest.java     |  110 --
 .../request/cud/ODataPropertyUpdateRequest.java |  129 --
 .../request/cud/ODataValueUpdateRequest.java    |  138 --
 .../request/cud/V3CUDRequestFactory.java        |   31 -
 .../request/cud/V4CUDRequestFactory.java        |   31 -
 .../invoke/AbstractInvokeRequestFactory.java    |   58 -
 .../request/invoke/InvokeRequestFactory.java    |   68 -
 .../request/invoke/ODataInvokeRequest.java      |  235 ---
 .../request/invoke/V3InvokeRequestFactory.java  |   88 --
 .../request/invoke/V4InvokeRequestFactory.java  |   49 -
 .../retrieve/AbstractODataRetrieveRequest.java  |   97 --
 .../AbstractRetrieveRequestFactory.java         |   78 -
 .../request/retrieve/ODataEntityRequest.java    |   93 --
 .../retrieve/ODataEntitySetIteratorRequest.java |   83 -
 .../request/retrieve/ODataEntitySetRequest.java |   95 --
 .../retrieve/ODataGenericRetrieveRequest.java   |  107 --
 .../retrieve/ODataLinkCollectionRequest.java    |   96 --
 .../request/retrieve/ODataMediaRequest.java     |  107 --
 .../request/retrieve/ODataMetadataRequest.java  |  118 --
 .../request/retrieve/ODataPropertyRequest.java  |   95 --
 .../request/retrieve/ODataRawRequest.java       |   41 -
 .../retrieve/ODataServiceDocumentRequest.java   |   91 --
 .../retrieve/ODataV3MetadataRequest.java        |   39 -
 .../retrieve/ODataV4MetadataRequest.java        |   39 -
 .../request/retrieve/ODataValueRequest.java     |  105 --
 .../retrieve/RetrieveRequestFactory.java        |  122 --
 .../retrieve/V3RetrieveRequestFactory.java      |   45 -
 .../retrieve/V4RetrieveRequestFactory.java      |   44 -
 .../AbstractODataStreamedEntityRequestImpl.java |   74 -
 .../AbstractODataStreamedRequestImpl.java       |  154 --
 .../AbstractStreamedRequestFactory.java         |   72 -
 .../streamed/ODataMediaEntityCreateRequest.java |  133 --
 .../streamed/ODataMediaEntityUpdateRequest.java |  136 --
 .../streamed/ODataStreamUpdateRequest.java      |  132 --
 .../request/streamed/ODataStreamedRequest.java  |   40 -
 .../streamed/StreamedRequestFactory.java        |   62 -
 .../streamed/V3StreamedRequestFactory.java      |   31 -
 .../streamed/V4StreamedRequestFactory.java      |   31 -
 .../response/ODataBatchResponse.java            |   37 -
 .../response/ODataDeleteResponse.java           |   27 -
 .../response/ODataEntityCreateResponse.java     |   36 -
 .../response/ODataEntityUpdateResponse.java     |   36 -
 .../response/ODataInvokeResponse.java           |   36 -
 .../response/ODataLinkOperationResponse.java    |   28 -
 .../ODataMediaEntityCreateResponse.java         |   36 -
 .../ODataMediaEntityUpdateResponse.java         |   36 -
 .../response/ODataPropertyUpdateResponse.java   |   36 -
 .../communication/response/ODataResponse.java   |  117 --
 .../response/ODataResponseImpl.java             |  276 ----
 .../response/ODataRetrieveResponse.java         |   34 -
 .../response/ODataStreamUpdateResponse.java     |   36 -
 .../response/ODataValueUpdateResponse.java      |   36 -
 .../engine/data/AbstractODataObjectFactory.java |  276 ----
 .../odatajclient/engine/data/Entry.java         |  247 ---
 .../odatajclient/engine/data/Feed.java          |   72 -
 .../odatajclient/engine/data/Link.java          |  111 --
 .../engine/data/LinkCollection.java             |   52 -
 .../engine/data/NoValidEntityFound.java         |   55 -
 .../odatajclient/engine/data/ODataBinder.java   |  128 --
 .../engine/data/ODataCollectionValue.java       |   98 --
 .../engine/data/ODataComplexValue.java          |   97 --
 .../engine/data/ODataDeserializer.java          |   97 --
 .../odatajclient/engine/data/ODataDuration.java |   80 -
 .../odatajclient/engine/data/ODataEntity.java   |  361 -----
 .../engine/data/ODataEntitySet.java             |  121 --
 .../engine/data/ODataEntitySetIterator.java     |  319 ----
 .../odatajclient/engine/data/ODataError.java    |   67 -
 .../engine/data/ODataGeospatialValue.java       |  488 ------
 .../engine/data/ODataInlineEntity.java          |   72 -
 .../engine/data/ODataInlineEntitySet.java       |   74 -
 .../engine/data/ODataInvokeResult.java          |   30 -
 .../odatajclient/engine/data/ODataItem.java     |  111 --
 .../odatajclient/engine/data/ODataLink.java     |  109 --
 .../engine/data/ODataLinkCollection.java        |  100 --
 .../odatajclient/engine/data/ODataLinkType.java |   98 --
 .../engine/data/ODataNoContent.java             |   30 -
 .../engine/data/ODataObjectFactory.java         |  210 ---
 .../engine/data/ODataObjectWrapper.java         |  141 --
 .../engine/data/ODataOperation.java             |  118 --
 .../engine/data/ODataPrimitiveValue.java        |  373 -----
 .../odatajclient/engine/data/ODataProperty.java |  192 ---
 .../odatajclient/engine/data/ODataReader.java   |  108 --
 .../engine/data/ODataSerializer.java            |  120 --
 .../engine/data/ODataServiceDocument.java       |  183 ---
 .../engine/data/ODataTimestamp.java             |  142 --
 .../odatajclient/engine/data/ODataValue.java    |  111 --
 .../odatajclient/engine/data/ODataWriter.java   |   91 --
 .../engine/data/ResourceFactory.java            |  281 ----
 .../engine/data/ServiceDocument.java            |  138 --
 .../engine/data/ServiceDocumentElement.java     |   74 -
 .../engine/data/impl/AbstractEntry.java         |  340 -----
 .../engine/data/impl/AbstractJSONEntry.java     |   90 --
 .../engine/data/impl/AbstractJacksonTool.java   |   83 -
 .../engine/data/impl/AbstractLink.java          |  142 --
 .../engine/data/impl/AbstractODataBinder.java   |  608 --------
 .../data/impl/AbstractODataDeserializer.java    |  204 ---
 .../engine/data/impl/AbstractODataReader.java   |  159 --
 .../data/impl/AbstractODataSerializer.java      |  179 ---
 .../engine/data/impl/AbstractODataWriter.java   |  101 --
 .../engine/data/impl/AbstractPayloadObject.java |   57 -
 .../data/impl/AbstractServiceDocument.java      |  147 --
 .../engine/data/impl/GeospatialJSONHandler.java |  411 -----
 .../data/impl/InjectableSerializerProvider.java |   43 -
 .../engine/data/impl/JSONDOMTreeUtils.java      |  259 ----
 .../engine/data/impl/JSONEntryDeserializer.java |  248 ---
 .../engine/data/impl/JSONEntrySerializer.java   |  133 --
 .../data/impl/JSONPropertyDeserializer.java     |  124 --
 .../data/impl/JSONPropertySerializer.java       |   82 -
 .../data/impl/ODataJacksonDeserializer.java     |   43 -
 .../data/impl/ODataJacksonSerializer.java       |   43 -
 .../impl/XMLServiceDocumentDeserializer.java    |  119 --
 .../engine/data/impl/v3/AtomDeserializer.java   |  218 ---
 .../engine/data/impl/v3/AtomEntry.java          |  124 --
 .../engine/data/impl/v3/AtomFeed.java           |  168 --
 .../engine/data/impl/v3/AtomLink.java           |   30 -
 .../engine/data/impl/v3/AtomObject.java         |   51 -
 .../engine/data/impl/v3/AtomSerializer.java     |  183 ---
 .../engine/data/impl/v3/JSONEntry.java          |   30 -
 .../engine/data/impl/v3/JSONFeed.java           |  146 --
 .../engine/data/impl/v3/JSONLink.java           |   30 -
 .../engine/data/impl/v3/JSONLinkCollection.java |  118 --
 .../engine/data/impl/v3/JSONODataError.java     |  240 ---
 .../data/impl/v3/JSONODataErrorBundle.java      |   51 -
 .../engine/data/impl/v3/JSONProperty.java       |   77 -
 .../data/impl/v3/JSONServiceDocument.java       |   64 -
 .../engine/data/impl/v3/ODataBinderImpl.java    |   39 -
 .../data/impl/v3/ODataDeserializerImpl.java     |   66 -
 .../data/impl/v3/ODataObjectFactoryImpl.java    |   32 -
 .../engine/data/impl/v3/ODataReaderImpl.java    |   46 -
 .../data/impl/v3/ODataSerializerImpl.java       |   32 -
 .../engine/data/impl/v3/ODataWriterImpl.java    |   31 -
 .../engine/data/impl/v3/XMLLinkCollection.java  |   80 -
 .../engine/data/impl/v3/XMLODataError.java      |  234 ---
 .../engine/data/impl/v3/XMLServiceDocument.java |   48 -
 .../data/impl/v4/AbstractServiceDocument.java   |   88 --
 .../engine/data/impl/v4/JSONEntry.java          |   30 -
 .../engine/data/impl/v4/ODataBinderImpl.java    |   65 -
 .../data/impl/v4/ODataDeserializerImpl.java     |   65 -
 .../data/impl/v4/ODataObjectFactoryImpl.java    |   32 -
 .../engine/data/impl/v4/ODataReaderImpl.java    |   46 -
 .../data/impl/v4/ODataSerializerImpl.java       |   32 -
 .../engine/data/impl/v4/ODataWriterImpl.java    |   31 -
 .../engine/data/impl/v4/XMLServiceDocument.java |   27 -
 .../odatajclient/engine/format/ODataFormat.java |   97 --
 .../engine/format/ODataMediaFormat.java         |   71 -
 .../engine/format/ODataPubFormat.java           |   97 --
 .../engine/format/ODataValueFormat.java         |   76 -
 .../engine/metadata/AbstractEdmMetadata.java    |  136 --
 .../engine/metadata/AbstractEdmType.java        |  267 ----
 .../engine/metadata/EdmContentKind.java         |   30 -
 .../odatajclient/engine/metadata/EdmType.java   |  111 --
 .../metadata/EdmTypeNotFoundException.java      |   37 -
 .../engine/metadata/EdmV3Metadata.java          |   40 -
 .../odatajclient/engine/metadata/EdmV3Type.java |   40 -
 .../engine/metadata/EdmV4Metadata.java          |   45 -
 .../odatajclient/engine/metadata/EdmV4Type.java |   40 -
 .../metadata/edm/AbstractAnnotations.java       |   48 -
 .../metadata/edm/AbstractComplexType.java       |   42 -
 .../metadata/edm/AbstractDataServices.java      |   52 -
 .../engine/metadata/edm/AbstractEdm.java        |   54 -
 .../metadata/edm/AbstractEdmDeserializer.java   |   69 -
 .../engine/metadata/edm/AbstractEdmx.java       |   50 -
 .../metadata/edm/AbstractEntityContainer.java   |  104 --
 .../engine/metadata/edm/AbstractEntitySet.java  |   47 -
 .../engine/metadata/edm/AbstractEntityType.java |   83 -
 .../engine/metadata/edm/AbstractEnumType.java   |   64 -
 .../metadata/edm/AbstractFunctionImport.java    |   28 -
 .../engine/metadata/edm/AbstractMember.java     |   48 -
 .../edm/AbstractNavigationProperty.java         |   37 -
 .../engine/metadata/edm/AbstractParameter.java  |   93 --
 .../engine/metadata/edm/AbstractProperty.java   |  237 ---
 .../engine/metadata/edm/AbstractSchema.java     |  111 --
 .../metadata/edm/ComplexTypeDeserializer.java   |   80 -
 .../engine/metadata/edm/ConcurrencyMode.java    |   26 -
 .../metadata/edm/DataServicesDeserializer.java  |   63 -
 .../engine/metadata/edm/EdmSimpleType.java      |  291 ----
 .../engine/metadata/edm/EdmxDeserializer.java   |   66 -
 .../edm/EntityContainerDeserializer.java        |   99 --
 .../engine/metadata/edm/EntityKey.java          |   39 -
 .../metadata/edm/EntityKeyDeserializer.java     |   46 -
 .../metadata/edm/EntitySetDeserializer.java     |   67 -
 .../metadata/edm/EntityTypeDeserializer.java    |   88 --
 .../metadata/edm/EnumTypeDeserializer.java      |   70 -
 .../engine/metadata/edm/PropertyRef.java        |   49 -
 .../engine/metadata/edm/SchemaDeserializer.java |  146 --
 .../metadata/edm/StoreGeneratedPattern.java     |   27 -
 .../edm/geospatial/ComposedGeospatial.java      |   75 -
 .../metadata/edm/geospatial/Geospatial.java     |  156 --
 .../edm/geospatial/GeospatialCollection.java    |   47 -
 .../metadata/edm/geospatial/LineString.java     |   38 -
 .../edm/geospatial/MultiLineString.java         |   38 -
 .../metadata/edm/geospatial/MultiPoint.java     |   38 -
 .../metadata/edm/geospatial/MultiPolygon.java   |   38 -
 .../engine/metadata/edm/geospatial/Point.java   |   81 -
 .../engine/metadata/edm/geospatial/Polygon.java |   72 -
 .../engine/metadata/edm/v3/Annotations.java     |   43 -
 .../edm/v3/AnnotationsDeserializer.java         |   55 -
 .../engine/metadata/edm/v3/Association.java     |   60 -
 .../edm/v3/AssociationDeserializer.java         |   53 -
 .../engine/metadata/edm/v3/AssociationEnd.java  |   72 -
 .../engine/metadata/edm/v3/AssociationSet.java  |   60 -
 .../edm/v3/AssociationSetDeserializer.java      |   52 -
 .../metadata/edm/v3/AssociationSetEnd.java      |   49 -
 .../engine/metadata/edm/v3/ComplexType.java     |   46 -
 .../engine/metadata/edm/v3/DataServices.java    |   37 -
 .../engine/metadata/edm/v3/Edmx.java            |   28 -
 .../engine/metadata/edm/v3/EntityContainer.java |   60 -
 .../engine/metadata/edm/v3/EntitySet.java       |   27 -
 .../engine/metadata/edm/v3/EntityType.java      |   65 -
 .../engine/metadata/edm/v3/EnumType.java        |   58 -
 .../engine/metadata/edm/v3/FunctionImport.java  |  129 --
 .../edm/v3/FunctionImportDeserializer.java      |   67 -
 .../engine/metadata/edm/v3/Member.java          |   27 -
 .../metadata/edm/v3/NavigationProperty.java     |   61 -
 .../engine/metadata/edm/v3/Parameter.java       |   39 -
 .../engine/metadata/edm/v3/ParameterMode.java   |   27 -
 .../engine/metadata/edm/v3/Property.java        |   27 -
 .../engine/metadata/edm/v3/PropertyValue.java   |  118 --
 .../metadata/edm/v3/ReferentialConstraint.java  |   49 -
 .../edm/v3/ReferentialConstraintRole.java       |   51 -
 .../ReferentialConstraintRoleDeserializer.java  |   51 -
 .../engine/metadata/edm/v3/Schema.java          |  136 --
 .../engine/metadata/edm/v3/TypeAnnotation.java  |   57 -
 .../edm/v3/TypeAnnotationDeserializer.java      |   52 -
 .../engine/metadata/edm/v3/Using.java           |   49 -
 .../engine/metadata/edm/v3/ValueAnnotation.java |  129 --
 .../engine/metadata/edm/v3/ValueTerm.java       |   49 -
 .../metadata/edm/v4/AbstractAnnotatedEdm.java   |   41 -
 .../engine/metadata/edm/v4/Action.java          |   86 --
 .../metadata/edm/v4/ActionDeserializer.java     |   60 -
 .../engine/metadata/edm/v4/ActionImport.java    |   60 -
 .../engine/metadata/edm/v4/AnnotatedEdm.java    |   26 -
 .../engine/metadata/edm/v4/Annotation.java      |   71 -
 .../metadata/edm/v4/AnnotationDeserializer.java |   57 -
 .../engine/metadata/edm/v4/Annotations.java     |   46 -
 .../edm/v4/AnnotationsDeserializer.java         |   53 -
 .../engine/metadata/edm/v4/CSDLElement.java     |   37 -
 .../engine/metadata/edm/v4/ComplexType.java     |  105 --
 .../engine/metadata/edm/v4/DataServices.java    |   37 -
 .../engine/metadata/edm/v4/Edmx.java            |   36 -
 .../engine/metadata/edm/v4/EntityContainer.java |  127 --
 .../engine/metadata/edm/v4/EntitySet.java       |   58 -
 .../engine/metadata/edm/v4/EntityType.java      |   77 -
 .../engine/metadata/edm/v4/EnumType.java        |   70 -
 .../engine/metadata/edm/v4/Function.java        |   38 -
 .../metadata/edm/v4/FunctionDeserializer.java   |   62 -
 .../engine/metadata/edm/v4/FunctionImport.java  |   87 --
 .../engine/metadata/edm/v4/Include.java         |   50 -
 .../metadata/edm/v4/IncludeAnnotations.java     |   61 -
 .../engine/metadata/edm/v4/Member.java          |   41 -
 .../metadata/edm/v4/NavigationProperty.java     |   99 --
 .../edm/v4/NavigationPropertyBinding.java       |   50 -
 .../edm/v4/NavigationPropertyDeserializer.java  |   66 -
 .../engine/metadata/edm/v4/OnDelete.java        |   39 -
 .../engine/metadata/edm/v4/OnDeleteAction.java  |   28 -
 .../engine/metadata/edm/v4/Parameter.java       |   39 -
 .../engine/metadata/edm/v4/Property.java        |   40 -
 .../engine/metadata/edm/v4/Reference.java       |   60 -
 .../metadata/edm/v4/ReferenceDeserializer.java  |   58 -
 .../metadata/edm/v4/ReferentialConstraint.java  |   49 -
 .../engine/metadata/edm/v4/ReturnType.java      |   95 --
 .../engine/metadata/edm/v4/Schema.java          |  171 ---
 .../engine/metadata/edm/v4/Singleton.java       |   57 -
 .../metadata/edm/v4/SingletonDeserializer.java  |   57 -
 .../engine/metadata/edm/v4/Term.java            |  127 --
 .../metadata/edm/v4/TermDeserializer.java       |   74 -
 .../engine/metadata/edm/v4/TypeDefinition.java  |  106 --
 .../edm/v4/TypeDefinitionDeserializer.java      |   65 -
 .../annotation/AbstractElOrAttrConstruct.java   |   37 -
 .../annotation/AnnotatedDynExprConstruct.java   |   39 -
 .../edm/v4/annotation/AnnotationPath.java       |   25 -
 .../metadata/edm/v4/annotation/Apply.java       |   52 -
 .../edm/v4/annotation/ApplyDeserializer.java    |   55 -
 .../engine/metadata/edm/v4/annotation/Cast.java |   89 --
 .../edm/v4/annotation/CastDeserializer.java     |   62 -
 .../metadata/edm/v4/annotation/Collection.java  |   36 -
 .../v4/annotation/CollectionDeserializer.java   |   50 -
 .../edm/v4/annotation/ConstExprConstruct.java   |   71 -
 .../edm/v4/annotation/DynExprConstruct.java     |   28 -
 .../DynExprConstructDeserializer.java           |  145 --
 .../edm/v4/annotation/DynExprDoubleParamOp.java |   71 -
 .../edm/v4/annotation/DynExprSingleParamOp.java |   67 -
 .../edm/v4/annotation/ExprConstruct.java        |   27 -
 .../engine/metadata/edm/v4/annotation/If.java   |   55 -
 .../engine/metadata/edm/v4/annotation/IsOf.java |   89 --
 .../edm/v4/annotation/IsOfDeserializer.java     |   62 -
 .../edm/v4/annotation/LabeledElement.java       |   48 -
 .../annotation/LabeledElementDeserializer.java  |   53 -
 .../v4/annotation/LabeledElementReference.java  |   25 -
 .../v4/annotation/NavigationPropertyPath.java   |   25 -
 .../engine/metadata/edm/v4/annotation/Null.java |   28 -
 .../edm/v4/annotation/NullDeserializer.java     |   49 -
 .../engine/metadata/edm/v4/annotation/Path.java |   25 -
 .../edm/v4/annotation/PropertyPath.java         |   25 -
 .../edm/v4/annotation/PropertyValue.java        |   48 -
 .../annotation/PropertyValueDeserializer.java   |   55 -
 .../metadata/edm/v4/annotation/Record.java      |   46 -
 .../edm/v4/annotation/RecordDeserializer.java   |   53 -
 .../metadata/edm/v4/annotation/UrlRef.java      |   38 -
 .../edm/v4/annotation/UrlRefDeserializer.java   |   50 -
 .../engine/uri/AbstractURIBuilder.java          |  240 ---
 .../odatajclient/engine/uri/QueryOption.java    |  101 --
 .../odatajclient/engine/uri/SegmentType.java    |   55 -
 .../odatajclient/engine/uri/URIBuilder.java     |  262 ----
 .../odatajclient/engine/uri/V3URIBuilder.java   |   39 -
 .../odatajclient/engine/uri/V4URIBuilder.java   |   39 -
 .../uri/filter/AbstractComparingFilter.java     |   42 -
 .../uri/filter/AbstractFilterFactory.java       |  106 --
 .../engine/uri/filter/AndFilter.java            |   40 -
 .../engine/uri/filter/EqFilter.java             |   31 -
 .../engine/uri/filter/FilterFactory.java        |   59 -
 .../engine/uri/filter/GeFilter.java             |   31 -
 .../engine/uri/filter/GtFilter.java             |   31 -
 .../engine/uri/filter/LeFilter.java             |   31 -
 .../engine/uri/filter/LtFilter.java             |   31 -
 .../engine/uri/filter/MatchFilter.java          |   33 -
 .../engine/uri/filter/NeFilter.java             |   31 -
 .../engine/uri/filter/NotFilter.java            |   33 -
 .../engine/uri/filter/ODataFilter.java          |   32 -
 .../engine/uri/filter/ODataFilterArg.java       |   33 -
 .../uri/filter/ODataFilterArgFactory.java       |  153 --
 .../engine/uri/filter/ODataFilterFunction.java  |   47 -
 .../engine/uri/filter/ODataFilterLiteral.java   |   40 -
 .../engine/uri/filter/ODataFilterOp.java        |   43 -
 .../engine/uri/filter/ODataFilterProperty.java  |   38 -
 .../engine/uri/filter/OrFilter.java             |   40 -
 .../engine/uri/filter/V3FilterFactory.java      |   25 -
 .../engine/uri/filter/V4FilterFactory.java      |   25 -
 .../engine/utils/AbstractDOMParser.java         |   46 -
 .../engine/utils/AndroidDOMParserImpl.java      |   49 -
 .../utils/AssociationSetBindingDetails.java     |   56 -
 .../engine/utils/DefaultDOMParserImpl.java      |   78 -
 .../engine/utils/MetadataUtils.java             |  178 ---
 .../utils/NavigationPropertyBindingDetails.java |   65 -
 .../engine/utils/ODataBatchConstants.java       |   56 -
 .../engine/utils/ODataConstants.java            |  217 ---
 .../odatajclient/engine/utils/ODataVersion.java |   83 -
 .../engine/utils/QualifiedName.java             |   66 -
 .../odatajclient/engine/utils/URIUtils.java     |  194 ---
 .../odatajclient/engine/utils/Wrapper.java      |   41 -
 .../odatajclient/engine/utils/XMLUtils.java     |  185 ---
 .../engine/AbstractPrimitiveTest.java           |  405 -----
 .../engine/AbstractPropertyTest.java            |  178 ---
 .../odatajclient/engine/AbstractTest.java       |   59 -
 .../odatajclient/engine/EntitySetTest.java      |   62 -
 .../odatajclient/engine/EntityTest.java         |  191 ---
 .../odatajclient/engine/EntryReadTest.java      |   96 --
 .../odatajclient/engine/ErrorTest.java          |   48 -
 .../odatajclient/engine/PrimitiveValueTest.java |  585 -------
 .../engine/it/AbstractMetadataTestITCase.java   |   30 -
 .../engine/it/AbstractTestITCase.java           |  605 --------
 .../engine/it/ActionOverloadingTestITCase.java  |  152 --
 .../odatajclient/engine/it/AsyncTestITCase.java |  129 --
 .../engine/it/AuthEntityRetrieveTestITCase.java |   53 -
 .../odatajclient/engine/it/BatchTestITCase.java |  439 ------
 .../odatajclient/engine/it/CountTestITCase.java |   62 -
 .../engine/it/CreateMediaEntityTestITCase.java  |  276 ----
 .../engine/it/EntityCreateMoreTestITCase.java   |  760 ---------
 .../engine/it/EntityCreateTestITCase.java       |  477 ------
 .../engine/it/EntityRetrieveTestITCase.java     |  240 ---
 .../engine/it/EntitySetRetrieveTestITCase.java  |  295 ----
 .../engine/it/EntitySetTestITCase.java          |  150 --
 .../engine/it/EntityTestITCase.java             |  327 ----
 .../engine/it/EntityUpdateMoreTestITCase.java   |  562 -------
 .../engine/it/EntityUpdateTestITCase.java       |  237 ---
 .../odatajclient/engine/it/ErrorTestITCase.java |  175 ---
 .../engine/it/FilterFactoryTestITCase.java      |  158 --
 .../engine/it/FilterTestITCase.java             |   93 --
 .../engine/it/FunctionsTestITCase.java          |  200 ---
 .../engine/it/GeoSpatialTestITCase.java         |  369 -----
 .../engine/it/InvokeOperationTestITCase.java    |  660 --------
 .../engine/it/InvokeTestITCase.java             |  307 ----
 .../engine/it/KeyAsSegmentTestITCase.java       |  110 --
 .../odatajclient/engine/it/LinkTestITCase.java  |  177 ---
 .../engine/it/MediaEntityTestITCase.java        |  210 ---
 .../engine/it/MediaEntityUpdateTestITCase.java  |  155 --
 .../engine/it/MetadataRetrieveTestITCase.java   |  145 --
 .../it/NavigationLinkCreateTestITCase.java      |  515 -------
 .../engine/it/NavigationLinkTestITCase.java     |  126 --
 .../engine/it/OpenTypeTestITCase.java           |  240 ---
 .../engine/it/PrimitiveKeysTestITCase.java      |   81 -
 .../engine/it/PropertyRetrieveTestITCase.java   |  275 ----
 .../engine/it/PropertyTestITCase.java           |  355 -----
 .../engine/it/PropertyUpdateTestITCase.java     | 1015 ------------
 .../engine/it/PropertyValueTestITCase.java      |  167 --
 .../engine/it/QueryOptionsTestITCase.java       |  193 ---
 .../it/ServiceDocumentRetrieveTestITCase.java   |   74 -
 .../engine/it/ServiceDocumentTestITCase.java    |   56 -
 .../it/XHTTPMethodEntityUpdateTestITCase.java   |   38 -
 .../it/XHTTPMethodPropertyUpdateTestITCase.java |   38 -
 .../engine/it/v3/V3MetadataTestITCase.java      |   42 -
 .../engine/it/v4/V4MetadataTestITCase.java      |   41 -
 .../engine/performance/BasicPerfTest.java       |  321 ----
 .../engine/performance/HundredPerfTest.java     |   85 --
 .../engine/performance/PerfTestReporter.java    |  108 --
 .../engine/performance/ThousandPerfTest.java    |   85 --
 .../engine/v3/V3JSONPrimitiveTest.java          |  334 ----
 .../engine/v3/V3JSONPropertyTest.java           |   36 -
 .../engine/v3/V3JSONServiceDocumentTest.java    |   52 -
 .../odatajclient/engine/v3/V3MetadataTest.java  |  162 --
 .../engine/v3/V3XMLPrimitiveTest.java           |   29 -
 .../engine/v3/V3XMLPropertyTest.java            |   30 -
 .../engine/v3/V3XMLServiceDocumentTest.java     |   29 -
 .../engine/v4/V4JSONPrimitiveTest.java          |   36 -
 .../engine/v4/V4JSONServiceDocumentTest.java    |   62 -
 .../odatajclient/engine/v4/V4MetadataTest.java  |  259 ----
 .../engine/v4/V4XMLPrimitiveTest.java           |   29 -
 .../engine/v4/V4XMLServiceDocumentTest.java     |   36 -
 .../engine/AllGeoTypesSet_-10_Geom.json         |    1 -
 .../engine/AllGeoTypesSet_-10_Geom.xml          |   22 -
 .../odatajclient/engine/AllGeoTypesSet_-5.json  |    1 -
 .../odatajclient/engine/AllGeoTypesSet_-5.xml   |   22 -
 .../odatajclient/engine/AllGeoTypesSet_-8.json  |    1 -
 .../odatajclient/engine/AllGeoTypesSet_-8.xml   |  176 ---
 .../msopentech/odatajclient/engine/Car_16.json  |    1 -
 .../msopentech/odatajclient/engine/Car_16.xml   |   22 -
 .../odatajclient/engine/ComputerDetail_-10.json |    1 -
 .../odatajclient/engine/ComputerDetail_-10.xml  |   22 -
 .../odatajclient/engine/Customer.json           |    1 -
 .../msopentech/odatajclient/engine/Customer.xml |   22 -
 .../odatajclient/engine/Customer_-10.json       |    1 -
 .../odatajclient/engine/Customer_-10.xml        |   22 -
 .../msopentech/odatajclient/engine/error.xml    |   22 -
 .../odatajclient/engine/stacktrace.xml          |   27 -
 .../engine/v3/AllGeoTypesSet_-10_GeogLine.json  |    1 -
 .../engine/v3/AllGeoTypesSet_-10_GeogLine.xml   |   22 -
 .../engine/v3/AllGeoTypesSet_-10_GeogPoint.json |    1 -
 .../engine/v3/AllGeoTypesSet_-10_GeogPoint.xml  |   22 -
 .../v3/AllGeoTypesSet_-3_GeomMultiPolygon.json  |    1 -
 .../v3/AllGeoTypesSet_-3_GeomMultiPolygon.xml   |   22 -
 .../v3/AllGeoTypesSet_-5_GeogCollection.json    |    1 -
 .../v3/AllGeoTypesSet_-5_GeogCollection.xml     |   22 -
 .../v3/AllGeoTypesSet_-5_GeogPolygon.json       |    1 -
 .../engine/v3/AllGeoTypesSet_-5_GeogPolygon.xml |   22 -
 .../v3/AllGeoTypesSet_-6_GeomMultiLine.json     |    1 -
 .../v3/AllGeoTypesSet_-6_GeomMultiLine.xml      |   22 -
 .../v3/AllGeoTypesSet_-7_GeomMultiPoint.json    |    1 -
 .../v3/AllGeoTypesSet_-7_GeomMultiPoint.xml     |   22 -
 .../v3/AllGeoTypesSet_-8_GeomCollection.json    |    1 -
 .../v3/AllGeoTypesSet_-8_GeomCollection.xml     |   22 -
 .../v3/Customer_-10_BackupContactInfo.json      |    1 -
 .../v3/Customer_-10_BackupContactInfo.xml       |   22 -
 .../engine/v3/Customer_-10_CustomerId.json      |    1 -
 .../engine/v3/Customer_-10_CustomerId.xml       |   22 -
 .../engine/v3/Customer_-10_CustomerId_value.txt |    1 -
 .../v3/Customer_-10_PrimaryContactInfo.json     |    1 -
 .../v3/Customer_-10_PrimaryContactInfo.xml      |   22 -
 ...a4af-4bbd-bf0a-2b2c22635565'_Attachment.json |    1 -
 ...-a4af-4bbd-bf0a-2b2c22635565'_Attachment.xml |   22 -
 ...af-4bbd-bf0a-2b2c22635565'_AttachmentId.json |    1 -
 ...4af-4bbd-bf0a-2b2c22635565'_AttachmentId.xml |   22 -
 ..._-10_ComplexConcurrency_QueriedDateTime.json |    1 -
 ...t_-10_ComplexConcurrency_QueriedDateTime.xml |   22 -
 .../engine/v3/Product_-10_Dimensions_Width.json |    1 -
 .../engine/v3/Product_-10_Dimensions_Width.xml  |   22 -
 .../engine/v3/Product_-9_Description.json       |    1 -
 .../engine/v3/Product_-9_Description.xml        |   22 -
 .../odatajclient/engine/v3/metadata.xml         |   22 -
 .../engine/v3/northwind-metadata.xml            |   22 -
 .../odatajclient/engine/v3/serviceDocument.json |   33 -
 .../odatajclient/engine/v3/serviceDocument.xml  |   49 -
 .../engine/v4/Products_1_SupplierID.json        |    1 -
 .../odatajclient/engine/v4/demo-metadata.xml    |   22 -
 .../engine/v4/fromdoc1-metadata.xml             |  116 --
 .../engine/v4/fromdoc2-metadata.xml             |   54 -
 .../engine/v4/fromdoc3-metadata.xml             |  131 --
 .../odatajclient/engine/v4/metadata.xml         |  232 ---
 .../engine/v4/northwind-metadata.xml            |   22 -
 .../odatajclient/engine/v4/serviceDocument.json |   32 -
 .../odatajclient/engine/v4/serviceDocument.xml  |   46 -
 .../src/test/resources/images/20051210-w50s.flv |  Bin 669036 -> 0 bytes
 .../src/test/resources/images/Renault.jpg       |  Bin 18688 -> 0 bytes
 .../src/test/resources/images/Wildlife.wmv      |  Bin 26246026 -> 0 bytes
 .../test/resources/images/big_buck_bunny.mp4    |  Bin 5510872 -> 0 bytes
 .../src/test/resources/images/desktop.ini       |    2 -
 .../engine/src/test/resources/images/edesk.jpg  |  Bin 8312 -> 0 bytes
 .../engine/src/test/resources/images/edesk.png  |  Bin 8881 -> 0 bytes
 .../engine/src/test/resources/images/image1.jpg |  Bin 7432 -> 0 bytes
 .../engine/src/test/resources/images/image1.png |  Bin 2785 -> 0 bytes
 .../src/test/resources/images/image2.jpeg       |  Bin 7432 -> 0 bytes
 .../src/test/resources/images/smallimage.bmp    |  Bin 52378 -> 0 bytes
 .../src/test/resources/images/smallimage.jpg    |  Bin 14655 -> 0 bytes
 .../src/test/resources/images/smallimage.png    |  Bin 51097 -> 0 bytes
 .../src/test/resources/images/smallimage.tif    |  Bin 11762 -> 0 bytes
 .../src/test/resources/odatajclient-perf.xls    |  Bin 22016 -> 0 bytes
 .../engine/src/test/resources/sample.png        |  Bin 25566 -> 0 bytes
 .../src/test/resources/simplelogger.properties  |   20 -
 .../engine/src/test/resources/test.properties   |   20 -
 ODataJClient/extensions/oauth-signpost/pom.xml  |   71 -
 ...tractOAuthSignPostHttpUriRequestFactory.java |   55 -
 ODataJClient/extensions/pom.xml                 |   46 -
 ODataJClient/maven-plugin/pom.xml               |  218 ---
 .../src/it/actionOverloadingService/pom.xml     |   92 --
 .../it/actionOverloadingService/verify.groovy   |   20 -
 .../maven-plugin/src/it/defaultService/pom.xml  |   92 --
 .../src/it/defaultService/verify.groovy         |   20 -
 .../src/it/keyAsSegmentService/pom.xml          |   92 --
 .../src/it/keyAsSegmentService/verify.groovy    |   20 -
 .../maven-plugin/src/it/northwind/pom.xml       |   92 --
 .../maven-plugin/src/it/northwind/verify.groovy |   20 -
 .../src/it/odataWriterDefaultService/pom.xml    |   92 --
 .../it/odataWriterDefaultService/verify.groovy  |   20 -
 .../maven-plugin/src/it/openTypeService/pom.xml |   92 --
 .../src/it/openTypeService/verify.groovy        |   20 -
 .../src/it/primitiveKeysService/pom.xml         |   92 --
 .../src/it/primitiveKeysService/verify.groovy   |   20 -
 ODataJClient/maven-plugin/src/it/settings.xml   |   55 -
 .../maven-plugin/src/it/staticServiceV3/pom.xml |   92 --
 .../src/it/staticServiceV3/verify.groovy        |   20 -
 .../maven-plugin/src/it/staticServiceV4/pom.xml |   92 --
 .../src/it/staticServiceV4/verify.groovy        |   20 -
 .../plugin/AbstractMetadataMojo.java            |  161 --
 .../odatajclient/plugin/AbstractUtility.java    |  292 ----
 .../odatajclient/plugin/V3MetadataMojo.java     |  189 ---
 .../odatajclient/plugin/V3Utility.java          |  123 --
 .../odatajclient/plugin/V4MetadataMojo.java     |  197 ---
 .../odatajclient/plugin/V4Utility.java          |  191 ---
 .../src/main/resources/complexType.vm           |   63 -
 .../src/main/resources/container.vm             |   67 -
 .../src/main/resources/entityCollection.vm      |   50 -
 .../src/main/resources/entitySet.vm             |   65 -
 .../src/main/resources/entityType.vm            |  109 --
 .../src/main/resources/entityTypeKey.vm         |   70 -
 .../maven-plugin/src/main/resources/enumType.vm |   55 -
 .../src/main/resources/package-info.vm          |   20 -
 .../maven-plugin/src/main/resources/services.vm |   21 -
 .../src/main/resources/singleton.vm             |   49 -
 .../src/main/resources/v3/container.vm          |   38 -
 .../src/main/resources/v3/entityCollection.vm   |   38 -
 .../src/main/resources/v3/entitySet.vm          |   19 -
 .../src/main/resources/v3/entityType.vm         |   53 -
 .../src/main/resources/v4/container.vm          |   54 -
 .../src/main/resources/v4/entityCollection.vm   |   55 -
 .../src/main/resources/v4/entitySet.vm          |   19 -
 .../src/main/resources/v4/entityType.vm         |   69 -
 .../src/main/resources/v4/singleton.vm          |   37 -
 ODataJClient/pom.xml                            |  554 -------
 ODataJClient/proxy/pom.xml                      |  237 ---
 .../proxy/api/AbstractComplexType.java          |   45 -
 .../proxy/api/AbstractContainer.java            |   32 -
 .../proxy/api/AbstractEntityCollection.java     |   25 -
 .../proxy/api/AbstractEntityKey.java            |   54 -
 .../proxy/api/AbstractEntitySet.java            |  108 --
 .../proxy/api/AbstractOpenType.java             |   31 -
 .../odatajclient/proxy/api/AsyncCall.java       |   70 -
 .../proxy/api/EntityContainerFactory.java       |  135 --
 .../proxy/api/NoResultException.java            |   35 -
 .../proxy/api/NonUniqueResultException.java     |   35 -
 .../odatajclient/proxy/api/Query.java           |  130 --
 .../msopentech/odatajclient/proxy/api/Sort.java |   66 -
 .../proxy/api/annotations/ComplexType.java      |   41 -
 .../proxy/api/annotations/CompoundKey.java      |   32 -
 .../api/annotations/CompoundKeyElement.java     |   38 -
 .../proxy/api/annotations/EntityContainer.java  |   36 -
 .../proxy/api/annotations/EntitySet.java        |   38 -
 .../proxy/api/annotations/EntityType.java       |   44 -
 .../proxy/api/annotations/EnumType.java         |   39 -
 .../odatajclient/proxy/api/annotations/Key.java |   34 -
 .../proxy/api/annotations/KeyClass.java         |   39 -
 .../proxy/api/annotations/KeyRef.java           |   34 -
 .../proxy/api/annotations/Namespace.java        |   36 -
 .../api/annotations/NavigationProperty.java     |   42 -
 .../proxy/api/annotations/Operation.java        |   70 -
 .../proxy/api/annotations/Parameter.java        |   49 -
 .../proxy/api/annotations/Property.java         |   76 -
 .../api/annotations/ReferentialConstraint.java  |   41 -
 .../proxy/api/annotations/RowType.java          |   32 -
 .../proxy/api/annotations/Singleton.java        |   36 -
 .../proxy/api/context/AttachedEntity.java       |   42 -
 .../proxy/api/context/AttachedEntityStatus.java |   44 -
 .../odatajclient/proxy/api/context/Context.java |   37 -
 .../proxy/api/context/EntityContext.java        |  199 ---
 .../proxy/api/context/EntityLinkDesc.java       |  104 --
 .../proxy/api/context/EntityUUID.java           |  109 --
 .../api/impl/AbstractInvocationHandler.java     |  242 ---
 .../api/impl/CompoundKeyElementWrapper.java     |   57 -
 .../odatajclient/proxy/api/impl/Container.java  |  522 -------
 .../impl/EntityCollectionInvocationHandler.java |  152 --
 .../impl/EntityContainerInvocationHandler.java  |  120 --
 .../api/impl/EntitySetInvocationHandler.java    |  396 -----
 .../proxy/api/impl/EntitySetIterator.java       |   85 --
 .../api/impl/EntityTypeInvocationHandler.java   |  578 -------
 .../odatajclient/proxy/api/impl/QueryImpl.java  |  171 ---
 .../odatajclient/proxy/utils/ClassUtils.java    |  142 --
 .../odatajclient/proxy/utils/EngineUtils.java   |  419 -----
 .../odatajclient/proxy/AbstractTest.java        |  185 ---
 .../proxy/ActionOverloadingTestITCase.java      |   98 --
 .../odatajclient/proxy/AsyncTestITCase.java     |  121 --
 .../proxy/AuthEntityRetrieveTestITCase.java     |   66 -
 .../odatajclient/proxy/ContextTestITCase.java   |  462 ------
 .../proxy/EntityCreateTestITCase.java           |  198 ---
 .../proxy/EntityRetrieveTestITCase.java         |  189 ---
 .../odatajclient/proxy/EntitySetTestITCase.java |   99 --
 .../proxy/EntityUpdateTestITCase.java           |  122 --
 .../odatajclient/proxy/InvokeTestITCase.java    |  218 ---
 .../proxy/MediaEntityTestITCase.java            |  108 --
 .../odatajclient/proxy/OpenTypeTestITCase.java  |  181 ---
 .../proxy/PrimitiveKeysTestITCase.java          |   74 -
 .../odatajclient/proxy/PropertyTestITCase.java  |   59 -
 .../odatajclient/proxy/QueryTestITCase.java     |  107 --
 .../AllGeoCollectionTypesSet.java               |   54 -
 .../astoriadefaultservice/AllGeoTypesSet.java   |   52 -
 .../services/astoriadefaultservice/Car.java     |   52 -
 .../astoriadefaultservice/Computer.java         |   52 -
 .../astoriadefaultservice/ComputerDetail.java   |   52 -
 .../astoriadefaultservice/Customer.java         |   52 -
 .../astoriadefaultservice/CustomerInfo.java     |   52 -
 .../astoriadefaultservice/DefaultContainer.java |  159 --
 .../services/astoriadefaultservice/Driver.java  |   52 -
 .../astoriadefaultservice/LastLogin.java        |   52 -
 .../services/astoriadefaultservice/License.java |   52 -
 .../services/astoriadefaultservice/Login.java   |   52 -
 .../astoriadefaultservice/MappedEntityType.java |   52 -
 .../services/astoriadefaultservice/Message.java |   52 -
 .../MessageAttachment.java                      |   52 -
 .../services/astoriadefaultservice/Order.java   |   52 -
 .../astoriadefaultservice/OrderLine.java        |   56 -
 .../astoriadefaultservice/PageView.java         |   54 -
 .../services/astoriadefaultservice/Person.java  |   58 -
 .../astoriadefaultservice/PersonMetadata.java   |   52 -
 .../services/astoriadefaultservice/Product.java |   54 -
 .../astoriadefaultservice/ProductDetail.java    |   52 -
 .../astoriadefaultservice/ProductPhoto.java     |   52 -
 .../astoriadefaultservice/ProductReview.java    |   52 -
 .../astoriadefaultservice/RSAToken.java         |   52 -
 .../astoriadefaultservice/package-info.java     |   20 -
 .../astoriadefaultservice/types/Aliases.java    |   59 -
 .../types/AllSpatialCollectionTypes.java        |   91 --
 .../AllSpatialCollectionTypesCollection.java    |   47 -
 .../types/AllSpatialCollectionTypes_Simple.java |  206 ---
 ...SpatialCollectionTypes_SimpleCollection.java |   47 -
 .../types/AllSpatialTypes.java                  |  459 ------
 .../types/AllSpatialTypesCollection.java        |   47 -
 .../astoriadefaultservice/types/AuditInfo.java  |   79 -
 .../types/BackOrderLine.java                    |   68 -
 .../types/BackOrderLine2.java                   |   68 -
 .../types/BackOrderLine2Collection.java         |   47 -
 .../types/BackOrderLineCollection.java          |   47 -
 .../astoriadefaultservice/types/Car.java        |  163 --
 .../types/CarCollection.java                    |   47 -
 .../types/ComplexToCategory.java                |   79 -
 .../astoriadefaultservice/types/Computer.java   |  124 --
 .../types/ComputerCollection.java               |   47 -
 .../types/ComputerDetail.java                   |  239 ---
 .../types/ComputerDetailCollection.java         |   47 -
 .../types/ConcurrencyInfo.java                  |   69 -
 .../types/ContactDetails.java                   |  109 --
 .../astoriadefaultservice/types/Contractor.java |  163 --
 .../types/ContractorCollection.java             |   47 -
 .../astoriadefaultservice/types/Customer.java   |  279 ----
 .../types/CustomerCollection.java               |   47 -
 .../types/CustomerInfo.java                     |  117 --
 .../types/CustomerInfoCollection.java           |   47 -
 .../astoriadefaultservice/types/Dimensions.java |   79 -
 .../types/DiscontinuedProduct.java              |  160 --
 .../types/DiscontinuedProductCollection.java    |   47 -
 .../astoriadefaultservice/types/Driver.java     |  124 --
 .../types/DriverCollection.java                 |   47 -
 .../astoriadefaultservice/types/Employee.java   |  155 --
 .../types/EmployeeCollection.java               |   51 -
 .../astoriadefaultservice/types/LastLogin.java  |  170 ---
 .../types/LastLoginCollection.java              |   47 -
 .../astoriadefaultservice/types/License.java    |  193 ---
 .../types/LicenseCollection.java                |   47 -
 .../astoriadefaultservice/types/Login.java      |  164 --
 .../types/LoginCollection.java                  |   47 -
 .../types/MappedEntityType.java                 |  528 -------
 .../types/MappedEntityTypeCollection.java       |   47 -
 .../astoriadefaultservice/types/Message.java    |  259 ----
 .../types/MessageAttachment.java                |  114 --
 .../types/MessageAttachmentCollection.java      |   47 -
 .../types/MessageCollection.java                |   47 -
 .../astoriadefaultservice/types/MessageKey.java |   75 -
 .../astoriadefaultservice/types/Order.java      |  157 --
 .../types/OrderCollection.java                  |   47 -
 .../astoriadefaultservice/types/OrderLine.java  |  207 ---
 .../types/OrderLineCollection.java              |   47 -
 .../types/OrderLineKey.java                     |   75 -
 .../astoriadefaultservice/types/PageView.java   |  193 ---
 .../types/PageViewCollection.java               |   47 -
 .../astoriadefaultservice/types/Person.java     |  127 --
 .../types/PersonCollection.java                 |   47 -
 .../types/PersonMetadata.java                   |  170 ---
 .../types/PersonMetadataCollection.java         |   47 -
 .../astoriadefaultservice/types/Phone.java      |   69 -
 .../astoriadefaultservice/types/Product.java    |  273 ----
 .../types/ProductCollection.java                |   47 -
 .../types/ProductDetail.java                    |  124 --
 .../types/ProductDetailCollection.java          |   47 -
 .../types/ProductPageView.java                  |  114 --
 .../types/ProductPageViewCollection.java        |   47 -
 .../types/ProductPhoto.java                     |  137 --
 .../types/ProductPhotoCollection.java           |   47 -
 .../types/ProductPhotoKey.java                  |   75 -
 .../types/ProductReview.java                    |  170 ---
 .../types/ProductReviewCollection.java          |   47 -
 .../types/ProductReviewKey.java                 |   86 --
 .../astoriadefaultservice/types/RSAToken.java   |  124 --
 .../types/RSATokenCollection.java               |   47 -
 .../types/SpecialEmployee.java                  |  154 --
 .../types/SpecialEmployeeCollection.java        |   51 -
 .../types/package-info.java                     |   20 -
 .../AllGeoCollectionTypesSet.java               |   54 -
 .../astoriadefaultservice/AllGeoTypesSet.java   |   52 -
 .../services/astoriadefaultservice/Car.java     |   52 -
 .../astoriadefaultservice/Computer.java         |   52 -
 .../astoriadefaultservice/ComputerDetail.java   |   52 -
 .../astoriadefaultservice/Customer.java         |   52 -
 .../astoriadefaultservice/CustomerInfo.java     |   52 -
 .../astoriadefaultservice/DefaultContainer.java |  168 --
 .../services/astoriadefaultservice/Driver.java  |   52 -
 .../astoriadefaultservice/LastLogin.java        |   52 -
 .../services/astoriadefaultservice/License.java |   52 -
 .../services/astoriadefaultservice/Login.java   |   52 -
 .../astoriadefaultservice/MappedEntityType.java |   52 -
 .../services/astoriadefaultservice/Message.java |   52 -
 .../MessageAttachment.java                      |   52 -
 .../services/astoriadefaultservice/Order.java   |   52 -
 .../astoriadefaultservice/OrderLine.java        |   56 -
 .../astoriadefaultservice/PageView.java         |   54 -
 .../services/astoriadefaultservice/Person.java  |   58 -
 .../astoriadefaultservice/PersonMetadata.java   |   52 -
 .../services/astoriadefaultservice/Product.java |   54 -
 .../astoriadefaultservice/ProductDetail.java    |   52 -
 .../astoriadefaultservice/ProductPhoto.java     |   52 -
 .../astoriadefaultservice/ProductReview.java    |   52 -
 .../astoriadefaultservice/RSAToken.java         |   52 -
 .../astoriadefaultservice/package-info.java     |   20 -
 .../astoriadefaultservice/types/Aliases.java    |   59 -
 .../types/AllSpatialCollectionTypes.java        |   91 --
 .../AllSpatialCollectionTypesCollection.java    |   47 -
 .../types/AllSpatialCollectionTypes_Simple.java |  206 ---
 ...SpatialCollectionTypes_SimpleCollection.java |   47 -
 .../types/AllSpatialTypes.java                  |  459 ------
 .../types/AllSpatialTypesCollection.java        |   47 -
 .../astoriadefaultservice/types/AuditInfo.java  |   79 -
 .../types/BackOrderLine.java                    |   68 -
 .../types/BackOrderLine2.java                   |   68 -
 .../types/BackOrderLine2Collection.java         |   47 -
 .../types/BackOrderLineCollection.java          |   47 -
 .../astoriadefaultservice/types/Car.java        |  163 --
 .../types/CarCollection.java                    |   47 -
 .../types/ComplexToCategory.java                |   79 -
 .../types/ComplexWithAllPrimitiveTypes.java     |  189 ---
 .../astoriadefaultservice/types/Computer.java   |  129 --
 .../types/ComputerCollection.java               |   47 -
 .../types/ComputerDetail.java                   |  244 ---
 .../types/ComputerDetailCollection.java         |   47 -
 .../types/ConcurrencyInfo.java                  |   69 -
 .../types/ContactDetails.java                   |  109 --
 .../astoriadefaultservice/types/Contractor.java |  160 --
 .../types/ContractorCollection.java             |   47 -
 .../astoriadefaultservice/types/Customer.java   |  279 ----
 .../types/CustomerCollection.java               |   47 -
 .../types/CustomerInfo.java                     |  117 --
 .../types/CustomerInfoCollection.java           |   47 -
 .../astoriadefaultservice/types/Dimensions.java |   79 -
 .../types/DiscontinuedProduct.java              |  160 --
 .../types/DiscontinuedProductCollection.java    |   47 -
 .../astoriadefaultservice/types/Driver.java     |  124 --
 .../types/DriverCollection.java                 |   47 -
 .../astoriadefaultservice/types/Employee.java   |  150 --
 .../types/EmployeeCollection.java               |   51 -
 .../astoriadefaultservice/types/LastLogin.java  |  170 ---
 .../types/LastLoginCollection.java              |   47 -
 .../astoriadefaultservice/types/License.java    |  193 ---
 .../types/LicenseCollection.java                |   47 -
 .../astoriadefaultservice/types/Login.java      |  164 --
 .../types/LoginCollection.java                  |   47 -
 .../types/MappedEntityType.java                 |  528 -------
 .../types/MappedEntityTypeCollection.java       |   47 -
 .../astoriadefaultservice/types/Message.java    |  259 ----
 .../types/MessageAttachment.java                |  114 --
 .../types/MessageAttachmentCollection.java      |   47 -
 .../types/MessageCollection.java                |   47 -
 .../astoriadefaultservice/types/MessageKey.java |   75 -
 .../astoriadefaultservice/types/Order.java      |  157 --
 .../types/OrderCollection.java                  |   47 -
 .../astoriadefaultservice/types/OrderLine.java  |  203 ---
 .../types/OrderLineCollection.java              |   47 -
 .../types/OrderLineKey.java                     |   75 -
 .../astoriadefaultservice/types/PageView.java   |  193 ---
 .../types/PageViewCollection.java               |   47 -
 .../astoriadefaultservice/types/Person.java     |  124 --
 .../types/PersonCollection.java                 |   47 -
 .../types/PersonMetadata.java                   |  170 ---
 .../types/PersonMetadataCollection.java         |   47 -
 .../astoriadefaultservice/types/Phone.java      |   69 -
 .../astoriadefaultservice/types/Product.java    |  273 ----
 .../types/ProductCollection.java                |   47 -
 .../types/ProductDetail.java                    |  124 --
 .../types/ProductDetailCollection.java          |   47 -
 .../types/ProductPageView.java                  |  114 --
 .../types/ProductPageViewCollection.java        |   47 -
 .../types/ProductPhoto.java                     |  137 --
 .../types/ProductPhotoCollection.java           |   47 -
 .../types/ProductPhotoKey.java                  |   75 -
 .../types/ProductReview.java                    |  170 ---
 .../types/ProductReviewCollection.java          |   47 -
 .../types/ProductReviewKey.java                 |   86 --
 .../astoriadefaultservice/types/RSAToken.java   |  124 --
 .../types/RSATokenCollection.java               |   47 -
 .../types/SpecialEmployee.java                  |  147 --
 .../types/SpecialEmployeeCollection.java        |   47 -
 .../types/package-info.java                     |   20 -
 .../opentypesservice/DefaultContainer.java      |   60 -
 .../odata/services/opentypesservice/Row.java    |   54 -
 .../services/opentypesservice/RowIndex.java     |   52 -
 .../services/opentypesservice/package-info.java |   20 -
 .../opentypesservice/types/ContactDetails.java  |  169 --
 .../opentypesservice/types/IndexedRow.java      |   68 -
 .../types/IndexedRowCollection.java             |   47 -
 .../services/opentypesservice/types/Row.java    |   91 --
 .../opentypesservice/types/RowCollection.java   |   47 -
 .../opentypesservice/types/RowIndex.java        |  101 --
 .../types/RowIndexCollection.java               |   47 -
 .../opentypesservice/types/package-info.java    |   20 -
 .../proxy/performance/BasicPerfTestITCase.java  |  124 --
 .../primitivekeysservice/EdmBinarySet.java      |   52 -
 .../primitivekeysservice/EdmBooleanSet.java     |   52 -
 .../primitivekeysservice/EdmByteSet.java        |   52 -
 .../EdmDateTimeOffsetSet.java                   |   52 -
 .../primitivekeysservice/EdmDateTimeSet.java    |   52 -
 .../primitivekeysservice/EdmDecimalSet.java     |   52 -
 .../primitivekeysservice/EdmDoubleSet.java      |   52 -
 .../primitivekeysservice/EdmGuidSet.java        |   52 -
 .../primitivekeysservice/EdmInt16Set.java       |   52 -
 .../primitivekeysservice/EdmInt32Set.java       |   52 -
 .../primitivekeysservice/EdmInt64Set.java       |   52 -
 .../primitivekeysservice/EdmSingleSet.java      |   52 -
 .../primitivekeysservice/EdmStringSet.java      |   52 -
 .../primitivekeysservice/EdmTimeSet.java        |   52 -
 .../services/primitivekeysservice/Folders.java  |   52 -
 .../primitivekeysservice/TestContext.java       |   86 --
 .../primitivekeysservice/package-info.java      |   20 -
 .../primitivekeysservice/types/EdmBinary.java   |   91 --
 .../types/EdmBinaryCollection.java              |   47 -
 .../primitivekeysservice/types/EdmBoolean.java  |   91 --
 .../types/EdmBooleanCollection.java             |   47 -
 .../primitivekeysservice/types/EdmByte.java     |   91 --
 .../types/EdmByteCollection.java                |   47 -
 .../primitivekeysservice/types/EdmDateTime.java |   91 --
 .../types/EdmDateTimeCollection.java            |   47 -
 .../types/EdmDateTimeOffset.java                |   91 --
 .../types/EdmDateTimeOffsetCollection.java      |   47 -
 .../primitivekeysservice/types/EdmDecimal.java  |   91 --
 .../types/EdmDecimalCollection.java             |   47 -
 .../primitivekeysservice/types/EdmDouble.java   |   91 --
 .../types/EdmDoubleCollection.java              |   47 -
 .../primitivekeysservice/types/EdmGuid.java     |   91 --
 .../types/EdmGuidCollection.java                |   47 -
 .../primitivekeysservice/types/EdmInt16.java    |   91 --
 .../types/EdmInt16Collection.java               |   47 -
 .../primitivekeysservice/types/EdmInt32.java    |   91 --
 .../types/EdmInt32Collection.java               |   47 -
 .../primitivekeysservice/types/EdmInt64.java    |   91 --
 .../types/EdmInt64Collection.java               |   47 -
 .../primitivekeysservice/types/EdmSingle.java   |   91 --
 .../types/EdmSingleCollection.java              |   47 -
 .../primitivekeysservice/types/EdmString.java   |   91 --
 .../types/EdmStringCollection.java              |   47 -
 .../primitivekeysservice/types/EdmTime.java     |   91 --
 .../types/EdmTimeCollection.java                |   47 -
 .../primitivekeysservice/types/Folder.java      |  124 --
 .../types/FolderCollection.java                 |   47 -
 .../types/package-info.java                     |   20 -
 ...h.odatajclient.proxy.api.AbstractComplexType |    1 -
 .../proxy/src/test/resources/northwind.xml      |  577 -------
 .../proxy/src/test/resources/odatademo.xml      |   90 --
 .../src/test/resources/simplelogger.properties  |   20 -
 .../proxy/src/test/resources/test.properties    |   20 -
 ODataJClient/src/main/resources/header.txt      |   16 -
 ODataJClient/test-service/pom.xml               |  213 ---
 .../testauthproxy/esigate/LinkRewrite.java      |   54 -
 .../esigate/LinkRewriteRenderer.java            |   56 -
 .../testservice/AbstractServices.java           |  777 ----------
 .../UnsupportedMediaTypeException.java          |   41 -
 .../odatajclient/testservice/V3Services.java    |   38 -
 .../odatajclient/testservice/V4Services.java    |   38 -
 .../odatajclient/testservice/methods/MERGE.java |   31 -
 .../odatajclient/testservice/methods/PATCH.java |   32 -
 .../testservice/utils/AbstractUtilities.java    |  722 ---------
 .../odatajclient/testservice/utils/Accept.java  |   78 -
 .../odatajclient/testservice/utils/Commons.java |  270 ----
 .../testservice/utils/Constants.java            |  102 --
 .../testservice/utils/FSManager.java            |  166 --
 .../testservice/utils/JSONUtilities.java        |  428 ------
 .../testservice/utils/LinkInfo.java             |   54 -
 .../testservice/utils/MetadataLinkInfo.java     |  175 ---
 .../testservice/utils/NavigationLinks.java      |  120 --
 .../testservice/utils/ODataVersion.java         |   35 -
 .../utils/XHTTPMethodInterceptor.java           |   43 -
 .../utils/XMLEventReaderWrapper.java            |  144 --
 .../testservice/utils/XMLUtilities.java         | 1190 ---------------
 .../testservice/utils/XmlElement.java           |   99 --
 .../main/resources/META-INF/vfs-providers.xml   |   27 -
 .../test-service/src/main/resources/context.xml |   25 -
 .../src/main/resources/esigate.properties       |   26 -
 .../org/esigate/rewrite-proxy.properties        |   23 -
 .../src/main/resources/tomcat-users.xml         |   27 -
 .../main/resources/v3/Car/14/entity.full.json   |   13 -
 .../src/main/resources/v3/Car/14/entity.xml     |   39 -
 .../main/resources/v3/Car/16/entity.full.json   |   14 -
 .../src/main/resources/v3/Car/16/entity.xml     |   45 -
 .../src/main/resources/v3/Car/feed.full.json    |  297 ----
 .../src/main/resources/v3/Car/feed.xml          |  459 ------
 .../v3/Car/filter/((1 add VIN) eq 16).full.json |    1 -
 .../v3/Car/filter/((1 add VIN) eq 16).xml       |   45 -
 .../v3/Car/filter/((VIN add 1) eq 16).full.json |    1 -
 .../v3/Car/filter/((VIN add 1) eq 16).xml       |   45 -
 .../((VIN lt 16) and (VIN gt 12)).full.json     |    1 -
 .../filter/((VIN lt 16) and (VIN gt 12)).xml    |   81 -
 .../v3/Car/filter/(16 eq (1 add VIN)).full.json |    1 -
 .../v3/Car/filter/(16 eq (1 add VIN)).xml       |   45 -
 .../v3/Car/filter/(VIN lt 16).full.json         |    1 -
 .../resources/v3/Car/filter/(VIN lt 16).xml     |  117 --
 ...ngth(Description) gt (VIN add 10)).full.json |    1 -
 .../(length(Description) gt (VIN add 10)).xml   |  117 --
 .../v3/Car/filter/VIN add 5 lt 11.full.json     |    1 -
 .../resources/v3/Car/filter/VIN add 5 lt 11.xml |   41 -
 .../v3/Car/filter/VIN div 2 le 8.full.json      |    1 -
 .../resources/v3/Car/filter/VIN div 2 le 8.xml  |   41 -
 .../filter/VIN le 18 and VIN gt 12.full.json    |    1 -
 .../v3/Car/filter/VIN le 18 and VIN gt 12.xml   |   41 -
 .../v3/Car/filter/VIN mul 2 le 30.full.json     |    1 -
 .../resources/v3/Car/filter/VIN mul 2 le 30.xml |   41 -
 ...not (((VIN ge 16) or (VIN le 12))).full.json |    1 -
 .../not (((VIN ge 16) or (VIN le 12))).xml      |   81 -
 .../startswith(Description,'cen').full.json     |    1 -
 .../filter/startswith(Description,'cen').xml    |   45 -
 .../VIN desc/filter/(VIN lt 16).full.json       |    9 -
 .../Car/orderby/VIN desc/filter/(VIN lt 16).xml |  117 --
 .../v3/ComputerDetail/-10/entity.full.json      |   23 -
 .../resources/v3/ComputerDetail/-10/entity.xml  |   44 -
 .../(month(PurchaseDate) eq 12).full.json       |    1 -
 .../filter/(month(PurchaseDate) eq 12).xml      |   64 -
 .../filter/day(PurchaseDate) eq 15.full.json    |    1 -
 .../filter/day(PurchaseDate) eq 15.xml          |   41 -
 .../filter/hour(PurchaseDate) eq 1.full.json    |    1 -
 .../filter/hour(PurchaseDate) eq 1.xml          |   41 -
 .../filter/minute(PurchaseDate) eq 33.full.json |    1 -
 .../filter/minute(PurchaseDate) eq 33.xml       |   41 -
 .../filter/month(PurchaseDate) eq 12.full.json  |    1 -
 .../filter/month(PurchaseDate) eq 12.xml        |   41 -
 .../filter/second(PurchaseDate) eq 35.full.json |    1 -
 .../filter/second(PurchaseDate) eq 35.xml       |   41 -
 .../filter/year(PurchaseDate) eq 2020.full.json |    1 -
 .../filter/year(PurchaseDate) eq 2020.xml       |   41 -
 .../resources/v3/Customer/-10/entity.full.json  |  673 --------
 .../main/resources/v3/Customer/-10/entity.xml   |  516 -------
 .../v3/Customer/-10/links/Info.full.json        |    4 -
 .../resources/v3/Customer/-10/links/Info.xml    |   22 -
 .../v3/Customer/-10/links/Logins('3').full.json |    4 -
 .../v3/Customer/-10/links/Logins.full.json      |   12 -
 .../resources/v3/Customer/-10/links/Logins.xml  |   25 -
 .../v3/Customer/-10/links/Orders(-10).full.json |    4 -
 .../v3/Customer/-10/links/Orders.full.json      |   13 -
 .../resources/v3/Customer/-10/links/Orders.xml  |   26 -
 .../main/resources/v3/Customer/-7/entity.xml    |  381 -----
 .../main/resources/v3/Customer/feed.full.json   |  893 -----------
 .../src/main/resources/v3/Customer/feed.xml     |  704 ---------
 ....PhoneNumber,'ODataJClient') eq 1).full.json |    1 -
 ...ePhone.PhoneNumber,'ODataJClient') eq 1).xml |   30 -
 ...ne.PhoneNumber,'lccvussrv') ne -1).full.json |    1 -
 ...omePhone.PhoneNumber,'lccvussrv') ne -1).xml |  600 --------
 .../Customer/filter/CustomerId eq -10.full.json |  678 --------
 .../v3/Customer/filter/CustomerId eq -10.xml    |  522 -------
 .../Customer/filter/CustomerId gt -10.full.json |    1 -
 .../v3/Customer/filter/CustomerId gt -10.xml    |  740 ---------
 .../Customer/filter/CustomerId lt -10.full.json |    1 -
 .../v3/Customer/filter/CustomerId lt -10.xml    |   30 -
 .../isof(Name,'Edm.String') eq true.full.json   |    1 -
 .../filter/isof(Name,'Edm.String') eq true.xml  | 1085 -------------
 .../not endswith(Name,'Chandan').full.json      |    1 -
 .../filter/not endswith(Name,'Chandan').xml     | 1065 -------------
 .../v3/Customer/skiptoken/-1.full.json          |    6 -
 .../main/resources/v3/Customer/skiptoken/-1.xml |   30 -
 .../v3/Customer/skiptoken/-10.full.json         |  978 ------------
 .../resources/v3/Customer/skiptoken/-10.xml     |  953 ------------
 .../v3/Customer/skiptoken/-3.full.json          |  776 ----------
 .../main/resources/v3/Customer/skiptoken/-3.xml |  613 --------
 .../v3/Customer/skiptoken/-5.full.json          | 1444 ------------------
 .../main/resources/v3/Customer/skiptoken/-5.xml | 1104 -------------
 .../v3/Customer/skiptoken/-7.full.json          | 1296 ----------------
 .../main/resources/v3/Customer/skiptoken/-7.xml |  990 ------------
 .../v3/Customer/skiptoken/-9.full.json          |  715 ---------
 .../main/resources/v3/Customer/skiptoken/-9.xml |  559 -------
 .../v3/CustomerInfo/11/entity.full.json         |   11 -
 .../resources/v3/CustomerInfo/11/entity.xml     |   37 -
 .../v3/CustomerInfo/12/entity.full.json         |   11 -
 .../resources/v3/CustomerInfo/12/entity.xml     |   37 -
 .../v3/EdmBooleanSet/true/entity.full.json      |    1 -
 .../resources/v3/EdmBooleanSet/true/entity.xml  |   36 -
 .../v3/EdmByteSet/255/entity.full.json          |    1 -
 .../main/resources/v3/EdmByteSet/255/entity.xml |   36 -
 .../entity.full.json                            |    1 -
 .../79228162514264337593543950335M/entity.xml   |   36 -
 .../1.7976931348623157E308D/entity.full.json    |    1 -
 .../1.7976931348623157E308D/entity.xml          |   36 -
 .../entity.full.json                            |    1 -
 .../entity.xml                                  |   36 -
 .../v3/EdmInt16Set/32767/entity.full.json       |    1 -
 .../resources/v3/EdmInt16Set/32767/entity.xml   |   36 -
 .../v3/EdmInt32Set/-2147483648/entity.full.json |    1 -
 .../v3/EdmInt32Set/-2147483648/entity.xml       |   36 -
 .../9223372036854775807L/entity.full.json       |    1 -
 .../EdmInt64Set/9223372036854775807L/entity.xml |   36 -
 .../EdmSingleSet/3.4028235E38f/entity.full.json |    1 -
 .../v3/EdmSingleSet/3.4028235E38f/entity.xml    |   36 -
 .../v3/EdmStringSet/'$'/entity.full.json        |    1 -
 .../resources/v3/EdmStringSet/'$'/entity.xml    |   36 -
 .../entity.full.json                            |    1 -
 .../entity.xml                                  |   36 -
 .../v3/InStreamErrorGetCustomer.full.json       |    1 -
 .../resources/v3/InStreamErrorGetCustomer.xml   |  525 -------
 .../resources/v3/Login/'3'/entity.full.json     |   13 -
 .../src/main/resources/v3/Login/'3'/entity.xml  |   42 -
 .../resources/v3/Message/1 -10/entity.full.json |   17 -
 .../main/resources/v3/Message/1 -10/entity.xml  |   46 -
 .../resources/v3/Order/-10/entity.full.json     |   11 -
 .../src/main/resources/v3/Order/-10/entity.xml  |   40 -
 .../main/resources/v3/Order/-7/entity.full.json |   17 -
 .../src/main/resources/v3/Order/-7/entity.xml   |   43 -
 .../main/resources/v3/Order/-9/entity.full.json |   17 -
 .../src/main/resources/v3/Order/-9/entity.xml   |   43 -
 .../v3/OrderLine/-10 -10/entity.full.json       |   14 -
 .../resources/v3/OrderLine/-10 -10/entity.xml   |   42 -
 .../resources/v3/OrderLine/-10 -10/etag.txt     |    1 -
 .../filter/PersonId sub 2 lt -10.full.json      |    1 -
 .../v3/Person/filter/PersonId sub 2 lt -10.xml  |   79 -
 ...iaDefaultService.SpecialEmployee').full.json |    1 -
 ....AstoriaDefaultService.SpecialEmployee').xml |  131 --
 .../resources/v3/Product/-10/entity.full.json   |   51 -
 .../main/resources/v3/Product/-10/entity.xml    |   61 -
 .../src/main/resources/v3/Product/-10/etag.txt  |    1 -
 .../resources/v3/Product/-6/entity.full.json    |   51 -
 .../src/main/resources/v3/Product/-6/entity.xml |   61 -
 .../src/main/resources/v3/Product/-6/etag.txt   |    1 -
 .../resources/v3/Product/-7/entity.full.json    |   51 -
 .../src/main/resources/v3/Product/-7/entity.xml |   61 -
 .../src/main/resources/v3/Product/-7/etag.txt   |    1 -
 .../v3/Product/-7/links/Photos.full.json        |   12 -
 .../resources/v3/Product/-9/entity.full.json    |   60 -
 .../src/main/resources/v3/Product/-9/entity.xml |   68 -
 .../src/main/resources/v3/Product/-9/etag.txt   |    1 -
 .../main/resources/v3/Product/feed.full.json    |  452 ------
 .../src/main/resources/v3/Product/feed.xml      |  410 -----
 .../ceiling(Dimensions.Width) eq 7338.full.json |    1 -
 .../ceiling(Dimensions.Width) eq 7338.xml       |   68 -
 ...', newname') eq 'kdcuklu, newname'.full.json |    1 -
 ...tion, ', newname') eq 'kdcuklu, newname'.xml |   74 -
 .../floor(Dimensions.Width) eq 7337.full.json   |    1 -
 .../filter/floor(Dimensions.Width) eq 7337.xml  |   68 -
 .../indexof(Description, 'k') eq 0.full.json    |    1 -
 .../filter/indexof(Description, 'k') eq 0.xml   |  117 --
 .../filter/length(Description) eq 7.full.json   |    1 -
 .../Product/filter/length(Description) eq 7.xml |   74 -
 .../round(Dimensions.Width) eq 7338.full.json   |    1 -
 .../filter/round(Dimensions.Width) eq 7338.xml  |   68 -
 ...artswith(Description, 'k') eq true.full.json |    1 -
 .../startswith(Description, 'k') eq true.xml    |  117 --
 ...of('kdcuklu', Description) eq true.full.json |    1 -
 ...stringof('kdcuklu', Description) eq true.xml |   74 -
 .../toupper(Description) eq 'KDCUKLU'.full.json |    1 -
 .../toupper(Description) eq 'KDCUKLU'.xml       |   74 -
 .../v3/ProductPhoto/-2 -2/entity.full.json      |   10 -
 .../resources/v3/ProductPhoto/-2 -2/entity.xml  |   39 -
 .../v3/ProductPhoto/-3 -3/entity.full.json      |   10 -
 .../resources/v3/ProductPhoto/-3 -3/entity.xml  |   38 -
 .../src/main/resources/v3/badRequest.json       |   17 -
 .../src/main/resources/v3/badRequest.xml        |   30 -
 .../src/main/resources/v3/largeMetadata.xml     |   42 -
 .../src/main/resources/v3/metadata.xml          |  719 ---------
 .../src/main/resources/v3/notFound.json         |   11 -
 .../src/main/resources/v3/notFound.xml          |   25 -
 .../src/main/resources/v3/services.full.json    |  102 --
 .../src/main/resources/v3/services.xml          |   98 --
 .../main/resources/v3/unsupportedMediaType.json |   17 -
 .../main/resources/v3/unsupportedMediaType.xml  |   34 -
 .../src/main/resources/v4/metadata.xml          |  519 -------
 .../main/webapp/WEB-INF/applicationContext.xml  |   50 -
 .../src/main/webapp/WEB-INF/web.xml             |   75 -
 .../ext/proxy/EntityContainerFactory.java       |   54 +-
 .../apache/olingo/ext/proxy/api/Container.java  |   32 -
 .../ext/proxy/api/PersistenceManager.java       |   32 +
 .../commons/AbstractInvocationHandler.java      |   50 +-
 .../AbstractStructuredInvocationHandler.java    |   53 +-
 .../commons/AnnotatableInvocationHandler.java   |    6 +-
 .../commons/AnnotatationsInvocationHandler.java |    8 +-
 .../ComplexFactoryInvocationHandler.java        |   21 +-
 .../proxy/commons/ComplexInvocationHandler.java |   63 +-
 .../olingo/ext/proxy/commons/ContainerImpl.java |  571 -------
 .../EntityCollectionInvocationHandler.java      |    4 +-
 .../EntityContainerInvocationHandler.java       |   19 +-
 .../proxy/commons/EntityInvocationHandler.java  |   21 +-
 .../commons/EntitySetInvocationHandler.java     |   64 +-
 .../commons/OperationInvocationHandler.java     |   31 +-
 .../proxy/commons/PersistenceManagerImpl.java   |  568 +++++++
 .../commons/SingletonInvocationHandler.java     |    2 +-
 .../olingo/ext/proxy/context/EntityContext.java |    4 +-
 .../olingo/ext/proxy/context/EntityUUID.java    |    4 +-
 .../olingo/ext/proxy/utils/CoreUtils.java       |   41 +-
 .../src/main/resources/container.vm             |    4 +-
 fit/pom.xml                                     |    1 +
 .../java/org/apache/olingo/fit/V3Services.java  |   16 +-
 .../java/org/apache/olingo/fit/V4Services.java  |   32 +-
 .../olingo/fit/utils/AbstractUtilities.java     |    5 +-
 .../org/apache/olingo/fit/utils/FSManager.java  |    6 +-
 fit/src/main/resources/esigate.properties       |    2 +-
 .../olingo/fit/proxy/v3/AbstractTestITCase.java |    5 +-
 .../proxy/v3/ActionOverloadingTestITCase.java   |    8 +-
 .../olingo/fit/proxy/v3/ContextTestITCase.java  |  165 +-
 .../fit/proxy/v3/EntityCreateTestITCase.java    |   10 +-
 .../fit/proxy/v3/MediaEntityTestITCase.java     |    3 +-
 .../olingo/fit/proxy/v3/OpenTypeTestITCase.java |    9 +-
 .../olingo/fit/proxy/v3/PropertyTestITCase.java |    7 +-
 .../astoriadefaultservice/DefaultContainer.java |    4 +-
 .../opentypesservicev3/DefaultContainer.java    |    4 +-
 .../primitivekeysservice/TestContext.java       |    4 +-
 .../astoriadefaultservice/DefaultContainer.java |    4 +-
 .../olingo/fit/proxy/v4/AbstractTestITCase.java |   13 +-
 .../proxy/v4/AuthEntityCreateTestITCase.java    |   40 +-
 .../fit/proxy/v4/EntityCreateTestITCase.java    |  109 +-
 .../fit/proxy/v4/MediaEntityTestITCase.java     |    4 +-
 .../olingo/fit/proxy/v4/OpenTypeTestITCase.java |    9 +-
 .../olingo/fit/proxy/v4/PropertyTestITCase.java |    3 +-
 .../proxy/v4/demo/odatademo/DemoService.java    |    4 +-
 .../opentypesservicev4/DefaultContainer.java    |    4 +-
 .../odatawcfservice/InMemoryEntities.java       |    4 +-
 .../olingo/fit/v3/AbstractTestITCase.java       |    2 +-
 .../olingo/fit/v3/QueryOptionsTestITCase.java   |   22 -
 .../fit/v3/ServiceDocumentTestITCase.java       |    2 +-
 .../olingo/fit/v4/AbstractTestITCase.java       |    2 +-
 .../fit/v4/BoundOperationInvokeTestITCase.java  |    6 +-
 .../olingo/fit/v4/ConformanceTestITCase.java    |  418 +++++
 .../olingo/fit/v4/EntityRetrieveTestITCase.java |    8 +-
 .../fit/v4/JSONFormatConformanceTestITCase.java |  332 ++++
 .../olingo/fit/v4/PropertyTestITCase.java       |    6 +-
 .../olingo/fit/v4/SingletonTestITCase.java      |   18 +-
 .../request/cud/v4/CUDRequestFactory.java       |    8 +-
 .../retrieve/v4/RetrieveRequestFactory.java     |    4 +-
 .../olingo/client/api/data/ServiceDocument.java |   34 +-
 .../client/api/data/ServiceDocumentItem.java    |    7 +-
 .../request/cud/v4/CUDRequestFactoryImpl.java   |   10 +-
 .../retrieve/v4/RetrieveRequestFactoryImpl.java |    6 +-
 .../core/data/AbstractServiceDocument.java      |   30 -
 .../data/JSONServiceDocumentDeserializer.java   |    5 +-
 .../core/data/ServiceDocumentItemImpl.java      |   24 +-
 .../data/XMLServiceDocumentDeserializer.java    |   10 +-
 .../client/core/op/AbstractODataBinder.java     |    6 +-
 .../client/core/op/impl/v4/ODataBinderImpl.java |   16 +-
 .../client/core/v3/ServiceDocumentTest.java     |    2 +-
 .../olingo/client/core/v4/EntitySetTest.java    |    2 +-
 .../olingo/client/core/v4/EntityTest.java       |    2 +-
 .../client/core/v4/ServiceDocumentTest.java     |    2 +-
 .../olingo/client/core/v3/atom_cleanup.xsl      |    1 +
 .../olingo/client/core/v4/serviceDocument.json  |    5 +-
 .../olingo/client/core/v4/serviceDocument.xml   |    2 +-
 .../apache/olingo/commons/api/data/Entity.java  |    4 +-
 .../olingo/commons/api/data/EntitySet.java      |    2 +-
 .../api/domain/ODataServiceDocument.java        |   48 +-
 .../commons/api/domain/v4/ODataEntity.java      |    5 +-
 .../api/domain/v4/ODataObjectFactory.java       |    2 +-
 .../commons/api/domain/v4/ODataSingleton.java   |   22 +
 .../olingo/commons/api/domain/v4/Singleton.java |   22 -
 .../olingo/commons/api/format/ContentType.java  |    1 -
 .../core/data/AbstractJsonDeserializer.java     |    2 +-
 .../commons/core/data/AbstractODataObject.java  |   28 +-
 .../commons/core/data/AtomDeserializer.java     |    2 +-
 .../commons/core/data/AtomSerializer.java       |   19 +-
 .../core/data/JSONEntityDeserializer.java       |    2 +-
 .../commons/core/data/JSONEntitySerializer.java |    2 +-
 .../core/data/JSONEntitySetSerializer.java      |    2 +-
 .../commons/core/domain/v4/ODataEntityImpl.java |   17 +-
 .../core/domain/v4/ODataObjectFactoryImpl.java  |    4 +-
 pom.xml                                         | 1003 ++++++------
 1234 files changed, 2476 insertions(+), 118645 deletions(-)
----------------------------------------------------------------------



[03/12] git commit: [OLINGO-266] timestamp support for tecsvc

Posted by sk...@apache.org.
[OLINGO-266] timestamp support for tecsvc

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

Branch: refs/heads/master
Commit: df5ce63af6fb993524a9046cc093dda15e2c1432
Parents: 92a4404
Author: Stephan Klevenz <st...@sap.com>
Authored: Thu May 22 13:19:40 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Thu May 22 13:19:40 2014 +0200

----------------------------------------------------------------------
 lib/server-tecsvc/pom.xml                       |  15 +
 lib/server-tecsvc/src/main/version/version.html |   7 +-
 .../src/main/webapp/css/olingo.css              |   9 +-
 lib/server-tecsvc/src/main/webapp/index.jsp     |  12 +-
 pom.xml                                         | 989 ++++++++++---------
 5 files changed, 529 insertions(+), 503 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/df5ce63a/lib/server-tecsvc/pom.xml
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/pom.xml b/lib/server-tecsvc/pom.xml
index cf367d7..1371a00 100644
--- a/lib/server-tecsvc/pom.xml
+++ b/lib/server-tecsvc/pom.xml
@@ -83,6 +83,21 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>com.keyboardsamurais.maven</groupId>
+        <artifactId>maven-timestamp-plugin</artifactId>
+        <configuration>
+          <propertyName>timestamp</propertyName>
+          <timestampPattern>dd.MM.yyyy HH:mm</timestampPattern>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>create</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/df5ce63a/lib/server-tecsvc/src/main/version/version.html
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/version/version.html b/lib/server-tecsvc/src/main/version/version.html
index 1537389..a7d74f4 100644
--- a/lib/server-tecsvc/src/main/version/version.html
+++ b/lib/server-tecsvc/src/main/version/version.html
@@ -26,7 +26,8 @@
 
  <tfoot>
   <tr>
-   <td colspan=2><a href="http://olingo.apache.org" target="self">Apache
+  <td>Home</td>
+   <td><a href="http://olingo.apache.org" target="self">Apache
      Olingo</a></td>
   </tr>
  </tfoot>
@@ -39,5 +40,9 @@
    <td>version</td>
    <td>${version}</td>
   </tr>
+  <tr>
+   <td>timestamp</td>
+   <td>${timestamp}</td>
+  </tr>
  </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/df5ce63a/lib/server-tecsvc/src/main/webapp/css/olingo.css
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/webapp/css/olingo.css b/lib/server-tecsvc/src/main/webapp/css/olingo.css
index c2323fc..b71723b 100644
--- a/lib/server-tecsvc/src/main/webapp/css/olingo.css
+++ b/lib/server-tecsvc/src/main/webapp/css/olingo.css
@@ -32,8 +32,8 @@ a:VISITED {
 	color: #D358F7;
 }
 
-td { 
-	padding:5px;
+td {
+	padding: 5px;
 }
 
 h1,h2,h3,h4,h5,h6 {
@@ -83,7 +83,8 @@ hr {
 	border-bottom: 1px solid #8904B1;
 }
 
+
 .version {
 	font-family: "Courier New", monospace;
-	font-size: 9px;
-}
+	font-size: 10px;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/df5ce63a/lib/server-tecsvc/src/main/webapp/index.jsp
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/webapp/index.jsp b/lib/server-tecsvc/src/main/webapp/index.jsp
index aa3bfcf..0a72eb4 100644
--- a/lib/server-tecsvc/src/main/webapp/index.jsp
+++ b/lib/server-tecsvc/src/main/webapp/index.jsp
@@ -41,11 +41,15 @@
   <hr>
  </div>
  <h2>Technical Service</h2>
- <lu>
- <li><a href="odata.svc/">Service Document</a></li>
- <li><a href="odata.svc/$metadata">Metadata</a></li>
- </lu>
+ <div>
+
 
+
+  <ul>
+   <li><a href="odata.svc/">Service Document</a></li>
+   <li><a href="odata.svc/$metadata">Metadata</a></li>
+  </ul>
+ </div>
  <p>
  <hr>
  <p>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/df5ce63a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0f4af7c..bfa468f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,499 +1,500 @@
 <?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">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo</groupId>
-  <artifactId>olingo-parent</artifactId>
-  <version>0.1.0-SNAPSHOT</version>
-  <packaging>pom</packaging>
-
-  <name>${project.artifactId}</name>
-
-  <inceptionYear>2013</inceptionYear>
-
-  <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>14</version>
-  </parent>
-
-  <licenses>
-    <license>
-      <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-    </license>
-  </licenses>
-
-  <url>http://olingo.apache.org</url>
-
-  <mailingLists>
-    <mailingList>
-      <name>Apache Olingo Developers Mailinglist</name>
-      <archive>http://mail-archives.apache.org/mod_mbox/olingo-dev/</archive>
-      <post>mailto:dev@olingo.apache.org</post>
-      <subscribe>mailto:dev-subscribe@olingo.apache.org</subscribe>
-    </mailingList>
-  </mailingLists>
-
-  <modules>
-    <module>lib</module>
-    <module>ext</module>
-    <module>fit</module>
-  </modules>
-
-  <properties>
-    <commons.codec.version>1.9</commons.codec.version>
-    <commons.io.version>2.4</commons.io.version>
-    <commons.lang3.version>3.3.2</commons.lang3.version>
-    <commons.beanutils.version>1.9.1</commons.beanutils.version>
-
-    <commons.logging.version>1.1.3</commons.logging.version>
-    <commons.vfs.version>2.0</commons.vfs.version>
-    <esigate.version>4.3</esigate.version>
-    <servlet.version>3.0.1</servlet.version>
-    <cxf.version>2.7.11</cxf.version>
-    <spring.version>4.0.3.RELEASE</spring.version>
-    
-    <velocity.version>1.7</velocity.version>
-    <maven.plugin.api.version>3.1.0</maven.plugin.api.version>
-    <maven.plugin.tools.version>3.2</maven.plugin.tools.version>
-
-    <hc.client.version>4.2.6</hc.client.version>
-    <jackson.version>2.3.3</jackson.version>
-
-    <antlr.version>4.1</antlr.version>
-
-    <sl4j.version>1.7.7</sl4j.version>
-
-    <log.directory>${project.build.directory}/log</log.directory>
-
-    <cargo.servlet.port>9080</cargo.servlet.port>
-    <cargo.tomcat.ajp.port>9889</cargo.tomcat.ajp.port>
-    <cargo.rmi.port>9805</cargo.rmi.port>
-    <cargo.log>${log.directory}/cargo.log</cargo.log>
-    <cargo.output>${log.directory}/cargo-output.log</cargo.output>
-    <tomcat.version>7.0.53</tomcat.version>
-
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>commons-codec</groupId>
-        <artifactId>commons-codec</artifactId>
-        <version>${commons.codec.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>commons-io</groupId>
-        <artifactId>commons-io</artifactId>
-        <version>${commons.io.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.commons</groupId>
-        <artifactId>commons-lang3</artifactId>
-        <version>${commons.lang3.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>commons-logging</groupId>
-        <artifactId>commons-logging</artifactId>
-        <version>${commons.logging.version}</version>
-        <scope>provided</scope>
-      </dependency>
-      <dependency>
-        <groupId>commons-beanutils</groupId>
-        <artifactId>commons-beanutils</artifactId>
-        <version>${commons.beanutils.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.antlr</groupId>
-        <artifactId>antlr4-runtime</artifactId>
-        <version>${antlr.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.apache.httpcomponents</groupId>
-        <artifactId>httpclient</artifactId>
-        <version>${hc.client.version}</version>
-      </dependency>
-   
-      <dependency>
-        <groupId>com.fasterxml.jackson.core</groupId>
-        <artifactId>jackson-core</artifactId>
-        <version>${jackson.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml.jackson.core</groupId>
-        <artifactId>jackson-databind</artifactId>
-        <version>${jackson.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml.jackson.core</groupId>
-        <artifactId>jackson-annotations</artifactId>
-        <version>${jackson.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml.jackson.dataformat</groupId>
-        <artifactId>jackson-dataformat-xml</artifactId>
-        <version>${jackson.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml.jackson.jaxrs</groupId>
-        <artifactId>jackson-jaxrs-json-provider</artifactId>
-        <version>${jackson.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml</groupId>
-        <artifactId>aalto-xml</artifactId>
-        <version>0.9.9</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.slf4j</groupId>
-        <artifactId>slf4j-api</artifactId>
-        <version>${sl4j.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.apache.commons</groupId>
-        <artifactId>commons-vfs2</artifactId>
-        <version>${commons.vfs.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.esigate</groupId>
-        <artifactId>esigate-core</artifactId>
-        <version>${esigate.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>javax.servlet</groupId>
-        <artifactId>javax.servlet-api</artifactId>
-        <version>${servlet.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.cxf</groupId>
-        <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-        <version>${cxf.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.springframework</groupId>
-        <artifactId>spring-web</artifactId>
-        <version>${spring.version}</version>
-      </dependency>
-      
-      <!-- Pojogen Maven Plugin depenencies -->
-      <dependency>
-        <groupId>org.apache.velocity</groupId>
-        <artifactId>velocity</artifactId>
-        <version>${velocity.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.maven</groupId>
-        <artifactId>maven-plugin-api</artifactId>
-        <version>${maven.plugin.api.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.maven.plugin-tools</groupId>
-        <artifactId>maven-plugin-annotations</artifactId>
-        <version>${maven.plugin.tools.version}</version>
-      </dependency>
-      <!-- /Pojogen Maven Plugin depenencies -->
-
-      <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>4.11</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.mockito</groupId>
-        <artifactId>mockito-all</artifactId>
-        <version>1.9.5</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>xmlunit</groupId>
-        <artifactId>xmlunit</artifactId>
-        <version>1.5</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.slf4j</groupId>
-        <artifactId>slf4j-simple</artifactId>
-        <version>${sl4j.version}</version>
-        <scope>test</scope>
-      </dependency>      
-    </dependencies>
-  </dependencyManagement>
-
-  <build>
-    <finalName>${project.artifactId}-${project.version}</finalName>
-
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.rat</groupId>
-          <artifactId>apache-rat-plugin</artifactId>
-          <version>0.10</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-checkstyle-plugin</artifactId>
-          <version>2.12.1</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.1</version>
-          <configuration>
-            <showWarnings>true</showWarnings>
-            <showDeprecation>true</showDeprecation>
-            <compilerArgument>-Xlint:unchecked</compilerArgument>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-eclipse-plugin</artifactId>
-          <version>2.9</version>
-        </plugin>
-
-        <plugin>
-          <groupId>org.codehaus.cargo</groupId>
-          <artifactId>cargo-maven2-plugin</artifactId>
-          <version>1.4.8</version>
-          <configuration>
-            <container>
-              <containerId>tomcat7x</containerId>
-              <zipUrlInstaller>
-                <url>http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.zip</url>
-                <downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
-                <extractDir>${project.build.directory}/cargo/extract</extractDir>
-              </zipUrlInstaller>
-              <log>${cargo.log}</log>
-              <output>${cargo.output}</output>
-            </container>
-          </configuration>
-        </plugin>
-
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.17</version>
-          <configuration>
-            <redirectTestOutputToFile>true</redirectTestOutputToFile>
-            <runOrder>alphabetical</runOrder>
-            <encoding>UTF-8</encoding>
-            <inputEncoding>UTF-8</inputEncoding>
-            <outputEncoding>UTF-8</outputEncoding>
-            <argLine>-Dfile.encoding=UTF-8</argLine>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-failsafe-plugin</artifactId>
-          <version>2.17</version>
-          <configuration>
-            <redirectTestOutputToFile>true</redirectTestOutputToFile>
-            <runOrder>alphabetical</runOrder>
-            <encoding>UTF-8</encoding>
-            <inputEncoding>UTF-8</inputEncoding>
-            <outputEncoding>UTF-8</outputEncoding>
-            <argLine>-Dfile.encoding=UTF-8</argLine>
-          </configuration>
-          <executions>
-            <execution>
-              <id>integration-test</id>
-              <goals>
-                <goal>integration-test</goal>
-                <goal>verify</goal>
-              </goals>
-            </execution>
-          </executions>
-        </plugin>
-        
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>2.6</version>
-          <configuration>
-            <encoding>UTF-8</encoding>
-            <useDefaultDelimiters>false</useDefaultDelimiters>
-            <delimiters>
-              <delimiter>${*}</delimiter>
-            </delimiters>
-          </configuration>
-        </plugin>
-
-        <plugin>
-          <groupId>org.sonatype.plugins</groupId>
-          <artifactId>jarjar-maven-plugin</artifactId>
-          <version>1.8</version>
-        </plugin>
-        
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-war-plugin</artifactId>
-          <version>2.4</version>
-        </plugin>
-        
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-invoker-plugin</artifactId>
-          <version>1.8</version>
-        </plugin>
-        
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-javadoc-plugin</artifactId>
-          <version>2.9.1</version>
-        </plugin>        
-      </plugins>
-    </pluginManagement>
-
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <source>1.6</source>
-          <target>1.6</target>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-eclipse-plugin</artifactId>
-        <configuration>
-          <addGroupIdToProjectName>true</addGroupIdToProjectName>
-          <addVersionToProjectName>true</addVersionToProjectName>
-          <wtpversion>2.0</wtpversion>
-          <downloadSources>true</downloadSources>
-          <downloadJavadocs>true</downloadJavadocs>
-
-          <sourceExcludes>
-            <excludes>
-              target/**
-            </excludes>
-          </sourceExcludes>
-
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>checkstyle</id>
-            <phase>verify</phase>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <outputFileFormat>xml</outputFileFormat>
-          <consoleOutput>true</consoleOutput>
-          <enableRSS>false</enableRSS>
-          <linkXRef>false</linkXRef>
-          <configLocation>src/checkstyle/config.xml</configLocation>
-          <sourceDirectory>${basedir}/src</sourceDirectory>
-          <encoding>UTF-8</encoding>
-          <failOnViolation>true</failOnViolation>
-          <violationSeverity>warning</violationSeverity>
-          <!-- fit autogenerated (via pojogen plugin) resources -->
-          <excludes>**/fit/proxy/v4/staticservice/**/*.java, **/fit/proxy/v3/staticservice/**/*.java, **/fit/proxy/v3/actionoverloading/**/*.java, **/fit/proxy/v3/primitivekeys/**/*.java, **/fit/proxy/v3/opentype/**/*.java, **/fit/proxy/v4/opentype/**/*.java,  **/fit/proxy/v4/demo/**/*.java</excludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>rat-check</id>
-            <phase>test</phase>
-            <goals>
-              <goal>check</goal>
-            </goals>
-            <configuration>
-              <excludes>
-                <exclude>**/META-INF/**</exclude>
-                <exclude>**/*.txt</exclude>
-                <exclude>**/*.ini</exclude>
-                <exclude>**/*.bin</exclude>
-                <exclude>**/MANIFEST.MF</exclude>
-                <exclude>.gitignore</exclude>
-                <exclude>.git/**</exclude>
-                <exclude>bin/**</exclude>
-                <exclude>**/*.local</exclude>
-                <exclude>**/*.project</exclude>
-                <exclude>**/*.classpath</exclude>
-                <exclude>**/*.json</exclude>
-                <exclude>**/*.batch</exclude>
-                <exclude>**/NOTICE</exclude>
-                <exclude>**/DEPENDENCIES</exclude>
-                <exclude>**/nb-configuration.xml</exclude>
-                <exclude>**/.externalToolBuilders/**</exclude>
-                <exclude>**/maven-eclipse.xml</exclude>
-                <exclude>**/ref/**</exclude>
-                <exclude>**/server-ref/**</exclude>
-              </excludes>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-  
-  <profiles>
-    <profile>
-      <id>javadocs</id>
-      
-      <build>
-        <defaultGoal>javadoc:aggregate</defaultGoal>
-        
+    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>
+
+    <groupId>org.apache.olingo</groupId>
+    <artifactId>olingo-parent</artifactId>
+    <version>0.1.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>${project.artifactId}</name>
+
+    <inceptionYear>2013</inceptionYear>
+
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>14</version>
+    </parent>
+
+    <licenses>
+        <license>
+            <name>The Apache Software License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+            <distribution>repo</distribution>
+        </license>
+    </licenses>
+
+    <url>http://olingo.apache.org</url>
+
+    <mailingLists>
+        <mailingList>
+            <name>Apache Olingo Developers Mailinglist</name>
+            <archive>http://mail-archives.apache.org/mod_mbox/olingo-dev/</archive>
+            <post>mailto:dev@olingo.apache.org</post>
+            <subscribe>mailto:dev-subscribe@olingo.apache.org</subscribe>
+        </mailingList>
+    </mailingLists>
+
+    <modules>
+        <module>lib</module>
+        <module>ext</module>
+        <module>fit</module>
+    </modules>
+
+    <properties>
+        <commons.codec.version>1.9</commons.codec.version>
+        <commons.io.version>2.4</commons.io.version>
+        <commons.lang3.version>3.3.2</commons.lang3.version>
+        <commons.beanutils.version>1.9.1</commons.beanutils.version>
+
+        <commons.logging.version>1.1.3</commons.logging.version>
+        <commons.vfs.version>2.0</commons.vfs.version>
+        <esigate.version>4.3</esigate.version>
+        <servlet.version>3.0.1</servlet.version>
+        <cxf.version>2.7.11</cxf.version>
+        <spring.version>4.0.3.RELEASE</spring.version>
+
+        <velocity.version>1.7</velocity.version>
+        <maven.plugin.api.version>3.1.0</maven.plugin.api.version>
+        <maven.plugin.tools.version>3.2</maven.plugin.tools.version>
+
+        <hc.client.version>4.2.6</hc.client.version>
+        <jackson.version>2.3.3</jackson.version>
+
+        <antlr.version>4.1</antlr.version>
+
+        <sl4j.version>1.7.7</sl4j.version>
+
+        <log.directory>${project.build.directory}/log</log.directory>
+
+        <cargo.servlet.port>9080</cargo.servlet.port>
+        <cargo.tomcat.ajp.port>9889</cargo.tomcat.ajp.port>
+        <cargo.rmi.port>9805</cargo.rmi.port>
+        <cargo.log>${log.directory}/cargo.log</cargo.log>
+        <cargo.output>${log.directory}/cargo-output.log</cargo.output>
+        <tomcat.version>7.0.53</tomcat.version>
+
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>commons-codec</groupId>
+                <artifactId>commons-codec</artifactId>
+                <version>${commons.codec.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons.io.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-lang3</artifactId>
+                <version>${commons.lang3.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-logging</groupId>
+                <artifactId>commons-logging</artifactId>
+                <version>${commons.logging.version}</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>commons-beanutils</groupId>
+                <artifactId>commons-beanutils</artifactId>
+                <version>${commons.beanutils.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.antlr</groupId>
+                <artifactId>antlr4-runtime</artifactId>
+                <version>${antlr.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpclient</artifactId>
+                <version>${hc.client.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-core</artifactId>
+                <version>${jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-databind</artifactId>
+                <version>${jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-annotations</artifactId>
+                <version>${jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.dataformat</groupId>
+                <artifactId>jackson-dataformat-xml</artifactId>
+                <version>${jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.jaxrs</groupId>
+                <artifactId>jackson-jaxrs-json-provider</artifactId>
+                <version>${jackson.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml</groupId>
+                <artifactId>aalto-xml</artifactId>
+                <version>0.9.9</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <version>${sl4j.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-vfs2</artifactId>
+                <version>${commons.vfs.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.esigate</groupId>
+                <artifactId>esigate-core</artifactId>
+                <version>${esigate.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>javax.servlet-api</artifactId>
+                <version>${servlet.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-web</artifactId>
+                <version>${spring.version}</version>
+            </dependency>
+
+            <!-- Pojogen Maven Plugin depenencies -->
+            <dependency>
+                <groupId>org.apache.velocity</groupId>
+                <artifactId>velocity</artifactId>
+                <version>${velocity.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven</groupId>
+                <artifactId>maven-plugin-api</artifactId>
+                <version>${maven.plugin.api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.maven.plugin-tools</groupId>
+                <artifactId>maven-plugin-annotations</artifactId>
+                <version>${maven.plugin.tools.version}</version>
+            </dependency>
+            <!-- /Pojogen Maven Plugin depenencies -->
+
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>4.11</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.mockito</groupId>
+                <artifactId>mockito-all</artifactId>
+                <version>1.9.5</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>xmlunit</groupId>
+                <artifactId>xmlunit</artifactId>
+                <version>1.5</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-simple</artifactId>
+                <version>${sl4j.version}</version>
+                <scope>test</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <build>
+        <finalName>${project.artifactId}-${project.version}</finalName>
+
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.rat</groupId>
+                    <artifactId>apache-rat-plugin</artifactId>
+                    <version>0.10</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-checkstyle-plugin</artifactId>
+                    <version>2.12.1</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>3.1</version>
+                    <configuration>
+                        <showWarnings>true</showWarnings>
+                        <showDeprecation>true</showDeprecation>
+                        <compilerArgument>-Xlint:unchecked</compilerArgument>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-eclipse-plugin</artifactId>
+                    <version>2.9</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.codehaus.cargo</groupId>
+                    <artifactId>cargo-maven2-plugin</artifactId>
+                    <version>1.4.8</version>
+                    <configuration>
+                        <container>
+                            <containerId>tomcat7x</containerId>
+                            <zipUrlInstaller>
+                                <url>http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.zip</url>
+                                <downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
+                                <extractDir>${project.build.directory}/cargo/extract</extractDir>
+                            </zipUrlInstaller>
+                            <log>${cargo.log}</log>
+                            <output>${cargo.output}</output>
+                        </container>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>2.17</version>
+                    <configuration>
+                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
+                        <runOrder>alphabetical</runOrder>
+                        <encoding>UTF-8</encoding>
+                        <inputEncoding>UTF-8</inputEncoding>
+                        <outputEncoding>UTF-8</outputEncoding>
+                        <argLine>-Dfile.encoding=UTF-8</argLine>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-failsafe-plugin</artifactId>
+                    <version>2.17</version>
+                    <configuration>
+                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
+                        <runOrder>alphabetical</runOrder>
+                        <encoding>UTF-8</encoding>
+                        <inputEncoding>UTF-8</inputEncoding>
+                        <outputEncoding>UTF-8</outputEncoding>
+                        <argLine>-Dfile.encoding=UTF-8</argLine>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <id>integration-test</id>
+                            <goals>
+                                <goal>integration-test</goal>
+                                <goal>verify</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-resources-plugin</artifactId>
+                    <version>2.6</version>
+                    <configuration>
+                        <encoding>UTF-8</encoding>
+                        <useDefaultDelimiters>false</useDefaultDelimiters>
+                        <delimiters>
+                            <delimiter>${*}</delimiter>
+                        </delimiters>
+                    </configuration>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.sonatype.plugins</groupId>
+                    <artifactId>jarjar-maven-plugin</artifactId>
+                    <version>1.8</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-war-plugin</artifactId>
+                    <version>2.4</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-invoker-plugin</artifactId>
+                    <version>1.8</version>
+                </plugin>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>2.9.1</version>
+                </plugin>
+                <plugin>
+                    <groupId>com.keyboardsamurais.maven</groupId>
+                    <artifactId>maven-timestamp-plugin</artifactId>
+                    <version>1.0</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+
         <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <inherited>true</inherited>
-            <configuration>
-              <destDir>javadocs</destDir>
-              <detectLinks>true</detectLinks>
-              <detectJavaApiLink>true</detectJavaApiLink>
-              <links>
-                <link>http://docs.oracle.com/javaee/6/api/</link>
-                <link>http://www.slf4j.org/api/</link>
-                <link>http://commons.apache.org/proper/commons-lang/javadocs/api-release/</link>
-                <link>http://commons.apache.org/proper/commons-io/javadocs/api-release/</link>
-                <link>http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.1/apidocs/</link>
-                <link>http://commons.apache.org/proper/commons-codec/archives/1.9/apidocs/</link>
-                <link>http://www.viste.com/Java/Language/http-client/httpcomponents-client-4.2.3-bin/httpcomponents-client-4.2.3/javadoc/</link>
-                <link>http://fasterxml.github.io/jackson-databind/javadoc/2.3.0/</link>
-              </links>
-            </configuration>
-          </plugin>          
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.6</source>
+                    <target>1.6</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-eclipse-plugin</artifactId>
+                <configuration>
+                    <addGroupIdToProjectName>true</addGroupIdToProjectName>
+                    <addVersionToProjectName>true</addVersionToProjectName>
+                    <wtpversion>2.0</wtpversion>
+                    <downloadSources>true</downloadSources>
+                    <downloadJavadocs>true</downloadJavadocs>
+
+                    <sourceExcludes>
+                        <excludes>
+                            target/**
+                        </excludes>
+                    </sourceExcludes>
+
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>checkstyle</id>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <outputFileFormat>xml</outputFileFormat>
+                    <consoleOutput>true</consoleOutput>
+                    <enableRSS>false</enableRSS>
+                    <linkXRef>false</linkXRef>
+                    <configLocation>src/checkstyle/config.xml</configLocation>
+                    <sourceDirectory>${basedir}/src</sourceDirectory>
+                    <encoding>UTF-8</encoding>
+                    <failOnViolation>true</failOnViolation>
+                    <violationSeverity>warning</violationSeverity>
+                    <!-- fit autogenerated (via pojogen plugin) resources -->
+                    <excludes>**/fit/proxy/v4/staticservice/**/*.java,
+                        **/fit/proxy/v3/staticservice/**/*.java,
+                        **/fit/proxy/v3/actionoverloading/**/*.java,
+                        **/fit/proxy/v3/primitivekeys/**/*.java,
+                        **/fit/proxy/v3/opentype/**/*.java,
+                        **/fit/proxy/v4/opentype/**/*.java,
+                        **/fit/proxy/v4/demo/**/*.java</excludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>rat-check</id>
+                        <phase>test</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                        <configuration>
+                            <excludes>
+                                <exclude>**/META-INF/**</exclude>
+                                <exclude>**/*.txt</exclude>
+                                <exclude>**/*.ini</exclude>
+                                <exclude>**/*.bin</exclude>
+                                <exclude>**/MANIFEST.MF</exclude>
+                                <exclude>.gitignore</exclude>
+                                <exclude>.git/**</exclude>
+                                <exclude>bin/**</exclude>
+                                <exclude>**/*.local</exclude>
+                                <exclude>**/*.project</exclude>
+                                <exclude>**/*.classpath</exclude>
+                                <exclude>**/*.json</exclude>
+                                <exclude>**/*.batch</exclude>
+                                <exclude>**/NOTICE</exclude>
+                                <exclude>**/DEPENDENCIES</exclude>
+                                <exclude>**/nb-configuration.xml</exclude>
+                                <exclude>**/.externalToolBuilders/**</exclude>
+                                <exclude>**/maven-eclipse.xml</exclude>
+                                <exclude>**/ref/**</exclude>
+                                <exclude>**/server-ref/**</exclude>
+                            </excludes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
-      </build>
-    </profile>
-  </profiles>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>javadocs</id>
+
+            <build>
+                <defaultGoal>javadoc:aggregate</defaultGoal>
+
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-javadoc-plugin</artifactId>
+                        <inherited>true</inherited>
+                        <configuration>
+                            <destDir>javadocs</destDir>
+                            <detectLinks>true</detectLinks>
+                            <detectJavaApiLink>true</detectJavaApiLink>
+                            <links>
+                                <link>http://docs.oracle.com/javaee/6/api/</link>
+                                <link>http://www.slf4j.org/api/</link>
+                                <link>http://commons.apache.org/proper/commons-lang/javadocs/api-release/</link>
+                                <link>http://commons.apache.org/proper/commons-io/javadocs/api-release/</link>
+                                <link>http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.1/apidocs/</link>
+                                <link>http://commons.apache.org/proper/commons-codec/archives/1.9/apidocs/</link>
+                                <link>http://www.viste.com/Java/Language/http-client/httpcomponents-client-4.2.3-bin/httpcomponents-client-4.2.3/javadoc/</link>
+                                <link>http://fasterxml.github.io/jackson-databind/javadoc/2.3.0/</link>
+                            </links>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>


[05/12] git commit: [OLINGO-266] redirect support

Posted by sk...@apache.org.
[OLINGO-266] redirect support


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

Branch: refs/heads/master
Commit: 44e0c6495a81c467a463a10c01746b6042b3558c
Parents: ef5d977
Author: Stephan Klevenz <st...@sap.com>
Authored: Fri May 23 09:33:08 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Fri May 23 09:33:08 2014 +0200

----------------------------------------------------------------------
 .../apache/olingo/fit/tecsvc/PingITCase.java    |  18 ++-
 .../commons/api/http/HttpContentType.java       |  57 +++++++
 .../olingo/commons/api/http/HttpHeader.java     | 155 +++++++++++++++++++
 .../olingo/commons/api/http/HttpStatusCode.java |  99 ++++++++++++
 .../olingo/server/core/DefaultProcessor.java    |  19 ++-
 .../apache/olingo/server/core/ODataHandler.java |  16 +-
 .../server/core/ODataHttpHandlerImpl.java       |  47 +++---
 .../olingo/server/core/RedirectProcessor.java   |  29 ++++
 .../olingo/server/tecsvc/TechnicalServlet.java  |   5 +-
 .../olingo/server/core/ODataHandlerTest.java    |  50 +++---
 10 files changed, 437 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java
index 755e087..c13de43 100644
--- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/PingITCase.java
@@ -23,11 +23,14 @@ import static org.junit.Assert.assertEquals;
 import java.net.HttpURLConnection;
 import java.net.URL;
 
+import org.apache.olingo.commons.api.http.HttpHeader;
+import org.apache.olingo.commons.api.http.HttpStatusCode;
 import org.junit.Test;
 
 public class PingITCase {
 
-  private static final String REF_SERVICE = "http://localhost:9080/tecsvc/odata.svc/";
+  private static final String REF_SERVICE_REDIRECT = "http://localhost:9080/tecsvc/odata.svc";
+  private static final String REF_SERVICE = REF_SERVICE_REDIRECT + "/";
 
   @Test
   public void ping() throws Exception {
@@ -41,4 +44,17 @@ public class PingITCase {
     assertEquals(200, code);
   }
 
+  @Test
+  public void redirect() throws Exception {
+    URL url = new URL(REF_SERVICE_REDIRECT);
+
+    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+    connection.setRequestMethod("GET");
+    connection.connect();
+
+    int code = connection.getResponseCode();
+
+    assertEquals(HttpStatusCode.TEMPORARY_REDIRECT, code);
+    assertEquals("/", connection.getHeaderField(HttpHeader.LOCATION));
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpContentType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpContentType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpContentType.java
new file mode 100644
index 0000000..6bb1081
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpContentType.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * 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.commons.api.http;
+
+/**
+ * Constants for <code>Http Content Type</code> definitions as specified in
+ * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">RFC 2616 Section 14</a>.
+ * 
+ */
+public interface HttpContentType {
+
+  public static final String APPLICATION_XML = "application/xml";
+  public static final String APPLICATION_XML_UTF8 = APPLICATION_XML + ";charset=utf-8";
+
+  public static final String APPLICATION_ATOM_XML = "application/atom+xml";
+  public static final String APPLICATION_ATOM_XML_UTF8 = APPLICATION_ATOM_XML + ";charset=utf-8";
+  public static final String APPLICATION_ATOM_XML_ENTRY = APPLICATION_ATOM_XML + ";type=entry";
+  public static final String APPLICATION_ATOM_XML_ENTRY_UTF8 = APPLICATION_ATOM_XML_ENTRY + ";charset=utf-8";
+  public static final String APPLICATION_ATOM_XML_FEED = APPLICATION_ATOM_XML + ";type=feed";
+  public static final String APPLICATION_ATOM_XML_FEED_UTF8 = APPLICATION_ATOM_XML_FEED + ";charset=utf-8";
+  public static final String APPLICATION_ATOM_SVC = "application/atomsvc+xml";
+  public static final String APPLICATION_ATOM_SVC_UTF8 = APPLICATION_ATOM_SVC + ";charset=utf-8";
+
+  public static final String APPLICATION_JSON = "application/json";
+  public static final String APPLICATION_JSON_VERBOSE = APPLICATION_JSON + ";odata=verbose";
+  public static final String APPLICATION_JSON_UTF8 = APPLICATION_JSON + ";charset=utf-8";
+  public static final String APPLICATION_JSON_UTF8_VERBOSE = APPLICATION_JSON_UTF8 + ";odata=verbose";
+
+  public static final String TEXT_PLAIN = "text/plain";
+  public static final String TEXT_PLAIN_UTF8 = TEXT_PLAIN + ";charset=utf-8";
+
+  public static final String TEXT_HTML = "text/html";
+
+  public static final String APPLICATION_OCTET_STREAM = "application/octet-stream";
+
+  public static final String APPLICATION_HTTP = "application/http";
+
+  public static final String MULTIPART_MIXED = "multipart/mixed";
+
+  public static final String WILDCARD = "*/*";
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpHeader.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpHeader.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpHeader.java
new file mode 100644
index 0000000..7d1a47d
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpHeader.java
@@ -0,0 +1,155 @@
+/*******************************************************************************
+ * 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.commons.api.http;
+
+/**
+ * HTTP header constants
+ * 
+ * 
+ */
+public interface HttpHeader {
+
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">HTTP/1.1 documentation</a>}.
+   */
+  public static final String ACCEPT = "Accept";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.2">HTTP/1.1 documentation</a>}.
+   */
+  public static final String ACCEPT_CHARSET = "Accept-Charset";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.3">HTTP/1.1 documentation</a>}.
+   */
+  public static final String ACCEPT_ENCODING = "Accept-Encoding";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4">HTTP/1.1 documentation</a>}.
+   */
+  public static final String ACCEPT_LANGUAGE = "Accept-Language";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.7">HTTP/1.1 documentation</a>}.
+   */
+  public static final String ALLOW = "Allow";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.8">HTTP/1.1 documentation</a>}.
+   */
+  public static final String AUTHORIZATION = "Authorization";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">HTTP/1.1 documentation</a>}.
+   */
+  public static final String CACHE_CONTROL = "Cache-Control";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11">HTTP/1.1 documentation</a>}.
+   */
+  public static final String CONTENT_ENCODING = "Content-Encoding";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.12">HTTP/1.1 documentation</a>}.
+   */
+  public static final String CONTENT_LANGUAGE = "Content-Language";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13">HTTP/1.1 documentation</a>}.
+   */
+  public static final String CONTENT_LENGTH = "Content-Length";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.14">HTTP/1.1 documentation</a>}.
+   */
+  public static final String CONTENT_LOCATION = "Content-Location";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17">HTTP/1.1 documentation</a>}.
+   */
+  public static final String CONTENT_TYPE = "Content-Type";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.18">HTTP/1.1 documentation</a>}.
+   */
+  public static final String DATE = "Date";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19">HTTP/1.1 documentation</a>}.
+   */
+  public static final String ETAG = "ETag";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21">HTTP/1.1 documentation</a>}.
+   */
+  public static final String EXPIRES = "Expires";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23">HTTP/1.1 documentation</a>}.
+   */
+  public static final String HOST = "Host";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.24">HTTP/1.1 documentation</a>}.
+   */
+  public static final String IF_MATCH = "If-Match";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25">HTTP/1.1 documentation</a>}.
+   */
+  public static final String IF_MODIFIED_SINCE = "If-Modified-Since";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26">HTTP/1.1 documentation</a>}.
+   */
+  public static final String IF_NONE_MATCH = "If-None-Match";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.28">HTTP/1.1 documentation</a>}.
+   */
+  public static final String IF_UNMODIFIED_SINCE = "If-Unmodified-Since";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29">HTTP/1.1 documentation</a>}.
+   */
+  public static final String LAST_MODIFIED = "Last-Modified";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30">HTTP/1.1 documentation</a>}.
+   */
+  public static final String LOCATION = "Location";
+  /**
+   * See {@link <a href="http://tools.ietf.org/html/rfc5988#page-6">Web Linking (IETF RFC-5988) documentation</a>}.
+   */
+  public static final String LINK = "Link";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.37">HTTP/1.1 documentation</a>}.
+   */
+  public static final String RETRY_AFTER = "Retry-After";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.43">HTTP/1.1 documentation</a>}.
+   */
+  public static final String USER_AGENT = "User-Agent";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44">HTTP/1.1 documentation</a>}.
+   */
+  public static final String VARY = "Vary";
+  /**
+   * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.47">HTTP/1.1 documentation</a>}.
+   */
+  public static final String WWW_AUTHENTICATE = "WWW-Authenticate";
+  /**
+   * See {@link <a href="http://www.ietf.org/rfc/rfc2109.txt">IETF RFC 2109</a>}.
+   */
+  public static final String COOKIE = "Cookie";
+  /**
+   * See {@link <a href="http://www.ietf.org/rfc/rfc2109.txt">IETF RFC 2109</a>}.
+   */
+  public static final String SET_COOKIE = "Set-Cookie";
+
+  /**
+   * non standard header
+   */
+  public static final String X_HTTP_METHOD = "X-HTTP-Method";
+
+  /**
+   * non standard header
+   */
+  public static final String X_HTTP_METHOD_OVERRIDE = "X-HTTP-Method-Override";
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpStatusCode.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpStatusCode.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpStatusCode.java
new file mode 100644
index 0000000..00e2200
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/http/HttpStatusCode.java
@@ -0,0 +1,99 @@
+/*******************************************************************************
+ * 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.commons.api.http;
+
+/**
+ * HTTP status codes as defined in RFC2616-sec10
+ * and additional status codes as defined in RFC6585
+ * 
+ */
+public enum HttpStatusCode {
+
+  OK(200, "OK"), CREATED(201, "Created"), ACCEPTED(202, "Accepted"), NO_CONTENT(204, "No Content"), RESET_CONTENT(205,
+      "Reset Content"), PARTIAL_CONTENT(206, "Partial Content"),
+
+  MOVED_PERMANENTLY(301, "Moved Permanently"), FOUND(302, "Found"), SEE_OTHER(303, "See Other"), NOT_MODIFIED(304,
+      "Not Modified"), USE_PROXY(305, "Use Proxy"), TEMPORARY_REDIRECT(307, "Temporary Redirect"),
+
+  BAD_REQUEST(400, "Bad Request"), UNAUTHORIZED(401, "Unauthorized"), PAYMENT_REQUIRED(402, "Payment Required"),
+  FORBIDDEN(
+      403, "Forbidden"), NOT_FOUND(404, "Not Found"), METHOD_NOT_ALLOWED(405, "Method Not Allowed"), NOT_ACCEPTABLE(
+      406, "Not Acceptable"), PROXY_AUTHENTICATION_REQUIRED(407, "Proxy Authentication Required"), REQUEST_TIMEOUT(408,
+      "Request Timeout"), CONFLICT(409, "Conflict"), GONE(410, "Gone"), LENGTH_REQUIRED(411, "Length Required"),
+  PRECONDITION_FAILED(412, "Precondition Failed"), REQUEST_ENTITY_TOO_LARGE(413, "Request Entity Too Large"),
+  REQUEST_URI_TOO_LONG(414, "Request-URI Too Long"), UNSUPPORTED_MEDIA_TYPE(415, "Unsupported Media Type"),
+  REQUESTED_RANGE_NOT_SATISFIABLE(416, "Requested Range Not Satisfiable"),
+  EXPECTATION_FAILED(417, "Expectation Failed"), PRECONDITION_REQUIRED(428, "Precondition Required"),
+
+  INTERNAL_SERVER_ERROR(500, "Internal Server Error"), NOT_IMPLEMENTED(501, "Not Implemented"), BAD_GATEWAY(502,
+      "Bad Gateway"), SERVICE_UNAVAILABLE(503, "Service Unavailable"), GATEWAY_TIMEOUT(504, "Gateway Timeout"),
+  HTTP_VERSION_NOT_SUPPORTED(505, "HTTP Version Not Supported");
+
+  private final int code;
+  private final String info;
+
+  HttpStatusCode(final int statusCode, final String info) {
+    code = statusCode;
+    this.info = info;
+  }
+
+  /**
+   * Convert a numerical status code into the corresponding status enum object.
+   * 
+   * @param statusCode the numerical status code
+   * @return the matching status enum object or null if no matching enum is defined
+   */
+  public static HttpStatusCode fromStatusCode(final int statusCode) {
+    for (final HttpStatusCode s : HttpStatusCode.values()) {
+      if (s.code == statusCode) {
+        return s;
+      }
+    }
+    return null;
+  }
+
+  /**
+   * Get the associated status code.
+   * 
+   * @return the status code.
+   */
+  public int getStatusCode() {
+    return code;
+  }
+
+  /**
+   * Get the status code info.
+   * 
+   * @return the status code info
+   */
+  public String getInfo() {
+    return toString();
+  }
+
+  /**
+   * Get the status code info.
+   * 
+   * @return the status code info
+   */
+  @Override
+  public String toString() {
+    return info;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
index 1bf9dac..9a64b50 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
@@ -21,6 +21,9 @@ package org.apache.olingo.server.core;
 import java.io.InputStream;
 
 import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.http.HttpContentType;
+import org.apache.olingo.commons.api.http.HttpHeader;
+import org.apache.olingo.commons.api.http.HttpStatusCode;
 import org.apache.olingo.server.api.OData;
 import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
@@ -30,8 +33,8 @@ import org.apache.olingo.server.api.serializer.ODataFormat;
 import org.apache.olingo.server.api.serializer.ODataSerializer;
 import org.apache.olingo.server.api.uri.UriInfo;
 
-public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProcessor {
-
+public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProcessor, RedirectProcessor {
+  
   private OData odata;
   private Edm edm;
 
@@ -50,7 +53,7 @@ public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProce
     responseEntity = serializer.serviceDocument(edm, request.getRawBaseUri());
 
     response.setStatusCode(200);
-    response.setHeader("Content-Type", "application/json");
+    response.setHeader(HttpHeader.CONTENT_TYPE, HttpContentType.APPLICATION_JSON);
     response.setContent(responseEntity);
 
   }
@@ -63,8 +66,16 @@ public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProce
     serializer = odata.createSerializer(ODataFormat.XML);
     responseEntity = serializer.metadataDocument(edm);
     response.setStatusCode(200);
-    response.setHeader("Content-Type", "application/xml");
+    response.setHeader(HttpHeader.CONTENT_TYPE, HttpContentType.APPLICATION_XML);
     response.setContent(responseEntity);
   }
 
+  @Override
+  public void redirect(ODataRequest request, ODataResponse response) {
+    response.setStatusCode(HttpStatusCode.TEMPORARY_REDIRECT.getStatusCode());
+    
+    String location = request.getRawRequestUri() + "/";
+    response.setHeader(HttpHeader.LOCATION, location);
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
index d2d9b63..5d0f09f 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
@@ -23,6 +23,7 @@ import java.util.Map;
 
 import org.apache.olingo.commons.api.ODataRuntimeException;
 import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.http.HttpContentType;
 import org.apache.olingo.server.api.OData;
 import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
@@ -33,8 +34,6 @@ import org.apache.olingo.server.api.uri.UriInfo;
 import org.apache.olingo.server.core.uri.parser.Parser;
 import org.apache.olingo.server.core.uri.validator.UriValidator;
 
-import sun.reflect.generics.reflectiveObjects.NotImplementedException;
-
 public class ODataHandler {
 
   private final OData odata;
@@ -63,11 +62,16 @@ public class ODataHandler {
       switch (uriInfo.getKind()) {
       case metadata:
         MetadataProcessor mp = selectProcessor(MetadataProcessor.class);
-        mp.readMetadata(request, response, uriInfo, "application/xml");
+        mp.readMetadata(request, response, uriInfo, HttpContentType.APPLICATION_XML);
         break;
       case service:
-        ServiceDocumentProcessor sdp = selectProcessor(ServiceDocumentProcessor.class);
-        sdp.readServiceDocument(request, response, uriInfo, "application/json");
+        if ("".equals(request.getRawODataPath())) {
+          RedirectProcessor rdp = selectProcessor(RedirectProcessor.class);
+          rdp.redirect(request, response);
+        }else{
+          ServiceDocumentProcessor sdp = selectProcessor(ServiceDocumentProcessor.class);
+          sdp.readServiceDocument(request, response, uriInfo, HttpContentType.APPLICATION_JSON);
+        }
         break;
       default:
         throw new ODataRuntimeException("not implemented");
@@ -85,7 +89,7 @@ public class ODataHandler {
     T p = (T) processors.get(cls);
 
     if (p == null) {
-      throw new NotImplementedException();
+      throw new ODataRuntimeException("Not implemented");
     }
 
     return p;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
index a212ea8..3703e6b 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHttpHandlerImpl.java
@@ -33,6 +33,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import org.apache.olingo.commons.api.ODataRuntimeException;
 import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.http.HttpHeader;
 import org.apache.olingo.commons.api.http.HttpMethod;
 import org.apache.olingo.server.api.OData;
 import org.apache.olingo.server.api.ODataHttpHandler;
@@ -46,20 +47,16 @@ public class ODataHttpHandlerImpl implements ODataHttpHandler {
 
   private static final Logger LOG = LoggerFactory.getLogger(ODataHttpHandlerImpl.class);
 
-//  private Edm edm;
-//  private OData server;
   private ODataHandler handler;
 
   public ODataHttpHandlerImpl(final OData server, final Edm edm) {
-//    this.edm = edm;
-//    this.server = server;
     handler = new ODataHandler(server, edm);
   }
 
   @Override
   public void process(final HttpServletRequest request, final HttpServletResponse response) {
     ODataRequest odRequest = createODataRequest(request, 0);
-    
+
     ODataResponse odResponse = handler.process(odRequest);
 
     convertToHttp(response, odResponse);
@@ -73,23 +70,25 @@ public class ODataHttpHandlerImpl implements ODataHttpHandler {
     }
 
     InputStream input = odResponse.getContent();
-    OutputStream output;
-    try {
-      output = response.getOutputStream();
-      byte[] buffer = new byte[1024];
-      int n = 0;
-      while (-1 != (n = input.read(buffer))) {
-        output.write(buffer, 0, n);
-      }
-    } catch (IOException e) {
-      LOG.error(e.getMessage(), e);
-      throw new ODataRuntimeException(e);
-    } finally {
-      if (input != null) {
-        try {
-          input.close();
-        } catch (IOException e) {
-          throw new ODataRuntimeException(e);
+    if (input != null) {
+      OutputStream output;
+      try {
+        output = response.getOutputStream();
+        byte[] buffer = new byte[1024];
+        int n = 0;
+        while (-1 != (n = input.read(buffer))) {
+          output.write(buffer, 0, n);
+        }
+      } catch (IOException e) {
+        LOG.error(e.getMessage(), e);
+        throw new ODataRuntimeException(e);
+      } finally {
+        if (input != null) {
+          try {
+            input.close();
+          } catch (IOException e) {
+            throw new ODataRuntimeException(e);
+          }
         }
       }
     }
@@ -116,8 +115,8 @@ public class ODataHttpHandlerImpl implements ODataHttpHandler {
       HttpMethod httpRequestMethod = HttpMethod.valueOf(httpRequest.getMethod());
 
       if (httpRequestMethod == HttpMethod.POST) {
-        String xHttpMethod = httpRequest.getHeader("X-HTTP-Method");
-        String xHttpMethodOverride = httpRequest.getHeader("X-HTTP-Method-Override");
+        String xHttpMethod = httpRequest.getHeader(HttpHeader.X_HTTP_METHOD); 
+        String xHttpMethodOverride = httpRequest.getHeader(HttpHeader.X_HTTP_METHOD_OVERRIDE);
 
         if (xHttpMethod == null && xHttpMethodOverride == null) {
           odRequest.setMethod(httpRequestMethod);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/lib/server-core/src/main/java/org/apache/olingo/server/core/RedirectProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/RedirectProcessor.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/RedirectProcessor.java
new file mode 100644
index 0000000..c741cac
--- /dev/null
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/RedirectProcessor.java
@@ -0,0 +1,29 @@
+/*
+ * 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.server.core;
+
+import org.apache.olingo.server.api.ODataRequest;
+import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.processor.Processor;
+
+public interface RedirectProcessor extends Processor {
+  
+  void redirect(ODataRequest request, ODataResponse response);
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java
index f49cd99..1daf164 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalServlet.java
@@ -48,10 +48,7 @@ public class TechnicalServlet extends HttpServlet {
     ODataHttpHandler handler = odata.createHandler(edm);
     
     handler.register(new TechnicalProcessor());
-    
-//    handler.registerServiceDocumentProcessor(new TechnicalProcessor());
-//    handler.registerMetadataProcessor(new TechnicalProcessor());    
-    
+       
     handler.process(req, resp);
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/44e0c649/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
index 3021f27..ade4245 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/ODataHandlerTest.java
@@ -25,12 +25,14 @@ import static org.mockito.Mockito.mock;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.http.HttpContentType;
+import org.apache.olingo.commons.api.http.HttpHeader;
 import org.apache.olingo.commons.api.http.HttpMethod;
+import org.apache.olingo.commons.api.http.HttpStatusCode;
 import org.apache.olingo.server.api.OData;
 import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
 import org.apache.olingo.server.api.processor.MetadataProcessor;
-import org.apache.olingo.server.api.processor.Processor;
 import org.apache.olingo.server.api.processor.ServiceDocumentProcessor;
 import org.apache.olingo.server.tecsvc.provider.EdmTechProvider;
 import org.junit.Before;
@@ -53,34 +55,31 @@ public class ODataHandlerTest {
     ODataRequest request = new ODataRequest();
 
     request.setMethod(HttpMethod.GET);
-    request.setRawBaseUri("http://localhost/odata/");
-    request.setRawODataPath("");
+    request.setRawBaseUri("http://localhost/odata");
+    request.setRawODataPath("/");
 
     ServiceDocumentProcessor processor = mock(ServiceDocumentProcessor.class);
     handler.register(processor);
-    
+
     ODataResponse response = handler.process(request);
-    
+
     assertNotNull(response);
     assertEquals(0, response.getStatusCode());
   }
-  
+
   @Test
   public void testServiceDocumentDefault() throws Exception {
     ODataRequest request = new ODataRequest();
 
     request.setMethod(HttpMethod.GET);
-    request.setRawBaseUri("http://localhost/odata/");
-    request.setRawODataPath("");
+    request.setRawBaseUri("http://localhost/odata");
+    request.setRawODataPath("/");
 
-    Processor processor = mock(Processor.class);
-    handler.register(processor);
-    
     ODataResponse response = handler.process(request);
-    
+
     assertNotNull(response);
     assertEquals(200, response.getStatusCode());
-    assertEquals("application/json", response.getHeaders().get("Content-Type"));
+    assertEquals(HttpContentType.APPLICATION_JSON, response.getHeaders().get(HttpHeader.CONTENT_TYPE));
 
     assertNotNull(response.getContent());
     String doc = IOUtils.toString(response.getContent());
@@ -90,6 +89,22 @@ public class ODataHandlerTest {
   }
 
   @Test
+  public void testServiceDocumentRedirect() throws Exception {
+    ODataRequest request = new ODataRequest();
+
+    request.setMethod(HttpMethod.GET);
+    request.setRawBaseUri("http://localhost/odata");
+    request.setRawRequestUri("http://localhost/odata");
+    request.setRawODataPath("");
+
+    ODataResponse response = handler.process(request);
+
+    assertNotNull(response);
+    assertEquals(HttpStatusCode.TEMPORARY_REDIRECT.getStatusCode(), response.getStatusCode());
+    assertEquals("http://localhost/odata/", response.getHeaders().get(HttpHeader.LOCATION));
+  }
+
+  @Test
   public void testMetadataNonDefault() throws Exception {
     ODataRequest request = new ODataRequest();
 
@@ -98,9 +113,9 @@ public class ODataHandlerTest {
 
     MetadataProcessor processor = mock(MetadataProcessor.class);
     handler.register(processor);
-    
+
     ODataResponse response = handler.process(request);
-    
+
     assertNotNull(response);
     assertEquals(0, response.getStatusCode());
   }
@@ -112,14 +127,11 @@ public class ODataHandlerTest {
     request.setMethod(HttpMethod.GET);
     request.setRawODataPath("$metadata");
 
-    Processor processor = mock(Processor.class);
-    handler.register(processor);
-
     ODataResponse response = handler.process(request);
 
     assertNotNull(response);
     assertEquals(200, response.getStatusCode());
-    assertEquals("application/xml", response.getHeaders().get("Content-Type"));
+    assertEquals(HttpContentType.APPLICATION_XML, response.getHeaders().get(HttpHeader.CONTENT_TYPE));
 
     assertNotNull(response.getContent());
     String doc = IOUtils.toString(response.getContent());


[11/12] git commit: [OLINGO-266] make metadata fit work

Posted by sk...@apache.org.
[OLINGO-266] make metadata fit work


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

Branch: refs/heads/master
Commit: 85fb12ad83bf1c5b659dfdb175632d928d305215
Parents: 4cb3b32
Author: Stephan Klevenz <st...@sap.com>
Authored: Mon Jun 2 13:13:47 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Mon Jun 2 13:13:58 2014 +0200

----------------------------------------------------------------------
 .../server/api/processor/DefaultProcessor.java  |  70 ++++++++++
 .../olingo/server/core/DefaultProcessor.java    |  81 -----------
 .../server/core/DefaultRedirectProcessor.java   |  41 ++++++
 .../apache/olingo/server/core/ODataHandler.java |   4 +-
 .../olingo/server/core/RedirectProcessor.java   |   4 +-
 .../xml/MetadataDocumentXmlSerializer.java      |  18 +--
 .../server/tecsvc/TechnicalProcessor.java       |   8 +-
 .../cs02/vocabularies/Org.OData.Core.V1.xml     | 134 +++++++++++++++++++
 8 files changed, 263 insertions(+), 97 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/85fb12ad/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
new file mode 100644
index 0000000..3a98543
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
@@ -0,0 +1,70 @@
+/*
+ * 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.server.api.processor;
+
+import java.io.InputStream;
+
+import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.http.HttpContentType;
+import org.apache.olingo.commons.api.http.HttpHeader;
+import org.apache.olingo.server.api.OData;
+import org.apache.olingo.server.api.ODataRequest;
+import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.serializer.ODataFormat;
+import org.apache.olingo.server.api.serializer.ODataSerializer;
+import org.apache.olingo.server.api.uri.UriInfo;
+
+public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProcessor {
+  
+  private OData odata;
+  private Edm edm;
+
+  @Override
+  public void init(OData odata, Edm edm) {
+    this.odata = odata;
+    this.edm = edm;
+  }
+
+  @Override
+  public void readServiceDocument(ODataRequest request, ODataResponse response, UriInfo uriInfo, String format) {
+    ODataSerializer serializer;
+    InputStream responseEntity;
+
+    serializer = odata.createSerializer(ODataFormat.JSON);
+    responseEntity = serializer.serviceDocument(edm, request.getRawBaseUri());
+
+    response.setStatusCode(200);
+    response.setHeader(HttpHeader.CONTENT_TYPE, HttpContentType.APPLICATION_JSON);
+    response.setContent(responseEntity);
+
+  }
+
+  @Override
+  public void readMetadata(ODataRequest request, ODataResponse response, UriInfo uriInfo, String format) {
+    ODataSerializer serializer;
+    InputStream responseEntity;
+
+    serializer = odata.createSerializer(ODataFormat.XML);
+    responseEntity = serializer.metadataDocument(edm);
+    response.setStatusCode(200);
+    response.setHeader(HttpHeader.CONTENT_TYPE, HttpContentType.APPLICATION_XML);
+    response.setContent(responseEntity);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/85fb12ad/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
deleted file mode 100644
index 9a64b50..0000000
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultProcessor.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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.server.core;
-
-import java.io.InputStream;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.http.HttpContentType;
-import org.apache.olingo.commons.api.http.HttpHeader;
-import org.apache.olingo.commons.api.http.HttpStatusCode;
-import org.apache.olingo.server.api.OData;
-import org.apache.olingo.server.api.ODataRequest;
-import org.apache.olingo.server.api.ODataResponse;
-import org.apache.olingo.server.api.processor.MetadataProcessor;
-import org.apache.olingo.server.api.processor.ServiceDocumentProcessor;
-import org.apache.olingo.server.api.serializer.ODataFormat;
-import org.apache.olingo.server.api.serializer.ODataSerializer;
-import org.apache.olingo.server.api.uri.UriInfo;
-
-public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProcessor, RedirectProcessor {
-  
-  private OData odata;
-  private Edm edm;
-
-  @Override
-  public void init(OData odata, Edm edm) {
-    this.odata = odata;
-    this.edm = edm;
-  }
-
-  @Override
-  public void readServiceDocument(ODataRequest request, ODataResponse response, UriInfo uriInfo, String format) {
-    ODataSerializer serializer;
-    InputStream responseEntity;
-
-    serializer = odata.createSerializer(ODataFormat.JSON);
-    responseEntity = serializer.serviceDocument(edm, request.getRawBaseUri());
-
-    response.setStatusCode(200);
-    response.setHeader(HttpHeader.CONTENT_TYPE, HttpContentType.APPLICATION_JSON);
-    response.setContent(responseEntity);
-
-  }
-
-  @Override
-  public void readMetadata(ODataRequest request, ODataResponse response, UriInfo uriInfo, String format) {
-    ODataSerializer serializer;
-    InputStream responseEntity;
-
-    serializer = odata.createSerializer(ODataFormat.XML);
-    responseEntity = serializer.metadataDocument(edm);
-    response.setStatusCode(200);
-    response.setHeader(HttpHeader.CONTENT_TYPE, HttpContentType.APPLICATION_XML);
-    response.setContent(responseEntity);
-  }
-
-  @Override
-  public void redirect(ODataRequest request, ODataResponse response) {
-    response.setStatusCode(HttpStatusCode.TEMPORARY_REDIRECT.getStatusCode());
-    
-    String location = request.getRawRequestUri() + "/";
-    response.setHeader(HttpHeader.LOCATION, location);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/85fb12ad/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultRedirectProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultRedirectProcessor.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultRedirectProcessor.java
new file mode 100644
index 0000000..0d47d55
--- /dev/null
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/DefaultRedirectProcessor.java
@@ -0,0 +1,41 @@
+/*
+ * 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.server.core;
+
+import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.http.HttpHeader;
+import org.apache.olingo.commons.api.http.HttpStatusCode;
+import org.apache.olingo.server.api.OData;
+import org.apache.olingo.server.api.ODataRequest;
+import org.apache.olingo.server.api.ODataResponse;
+
+public class DefaultRedirectProcessor implements RedirectProcessor {
+
+  @Override
+  public void init(OData odata, Edm edm) {}
+
+  @Override
+  public void redirect(ODataRequest request, ODataResponse response) {
+    response.setStatusCode(HttpStatusCode.TEMPORARY_REDIRECT.getStatusCode());
+
+    String location = request.getRawRequestUri() + "/";
+    response.setHeader(HttpHeader.LOCATION, location);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/85fb12ad/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
index 5d0f09f..bafb5bc 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ODataHandler.java
@@ -27,6 +27,7 @@ import org.apache.olingo.commons.api.http.HttpContentType;
 import org.apache.olingo.server.api.OData;
 import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
+import org.apache.olingo.server.api.processor.DefaultProcessor;
 import org.apache.olingo.server.api.processor.MetadataProcessor;
 import org.apache.olingo.server.api.processor.Processor;
 import org.apache.olingo.server.api.processor.ServiceDocumentProcessor;
@@ -45,6 +46,7 @@ public class ODataHandler {
     this.edm = edm;
 
     register(new DefaultProcessor());
+    register(new DefaultRedirectProcessor());
   }
 
   public ODataResponse process(final ODataRequest request) {
@@ -100,7 +102,7 @@ public class ODataHandler {
     processor.init(odata, edm);
 
     for (Class<?> cls : processor.getClass().getInterfaces()) {
-      if (Processor.class.isAssignableFrom(cls)) {
+      if (Processor.class.isAssignableFrom(cls) && cls != Processor.class) {
         @SuppressWarnings("unchecked")
         Class<? extends Processor> procClass = (Class<? extends Processor>) cls;
         processors.put(procClass, processor);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/85fb12ad/lib/server-core/src/main/java/org/apache/olingo/server/core/RedirectProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/RedirectProcessor.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/RedirectProcessor.java
index c741cac..4e99d31 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/RedirectProcessor.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/RedirectProcessor.java
@@ -23,7 +23,7 @@ import org.apache.olingo.server.api.ODataResponse;
 import org.apache.olingo.server.api.processor.Processor;
 
 public interface RedirectProcessor extends Processor {
-  
+
   void redirect(ODataRequest request, ODataResponse response);
 
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/85fb12ad/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
index 999cb36..e49430f 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentXmlSerializer.java
@@ -529,14 +529,14 @@ public class MetadataDocumentXmlSerializer {
   }
 
   private void appendReference(final XMLStreamWriter writer) throws XMLStreamException {
-//    writer.writeStartElement(NS_EDMX, "Reference");
-//    // TODO: Where is this value comming from?
-// writer.writeAttribute("Uri", "http://docs.oasis-open.org/odata/odata/v4.0/cs02/vocabularies/Org.OData.Core.V1.xml");
-//    writer.writeEmptyElement(NS_EDMX, "Include");
-//    // TODO: Where is this value comming from?
-//    writer.writeAttribute(XML_NAMESPACE, "Org.OData.Core.V1");
-//    // TODO: Where is this value comming from?
-//    writer.writeAttribute(XML_ALIAS, "Core");
-//    writer.writeEndElement();
+    writer.writeStartElement(NS_EDMX, "Reference");
+    // TODO: Where is this value comming from?
+    writer.writeAttribute("Uri", "http://localhost:9080/tecsvc/v4.0/cs02/vocabularies/Org.OData.Core.V1.xml");
+    writer.writeEmptyElement(NS_EDMX, "Include");
+    // TODO: Where is this value comming from?
+    writer.writeAttribute(XML_NAMESPACE, "Org.OData.Core.V1");
+    // TODO: Where is this value comming from?
+    writer.writeAttribute(XML_ALIAS, "Core");
+    writer.writeEndElement();
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/85fb12ad/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalProcessor.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalProcessor.java
index 7f05862..ae0d34f 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalProcessor.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/TechnicalProcessor.java
@@ -24,14 +24,14 @@ import org.apache.olingo.server.api.processor.Processor;
 
 public class TechnicalProcessor implements Processor {
 
-  private OData odata;
-  private Edm edm;
+//  private OData odata;
+//  private Edm edm;
 
 
   @Override
   public void init(OData odata, Edm edm) {
-    this.odata = odata;
-    this.edm = edm;
+//    this.odata = odata;
+//    this.edm = edm;
   }
 
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/85fb12ad/lib/server-tecsvc/src/main/webapp/v4.0/cs02/vocabularies/Org.OData.Core.V1.xml
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/webapp/v4.0/cs02/vocabularies/Org.OData.Core.V1.xml b/lib/server-tecsvc/src/main/webapp/v4.0/cs02/vocabularies/Org.OData.Core.V1.xml
new file mode 100644
index 0000000..aeca931
--- /dev/null
+++ b/lib/server-tecsvc/src/main/webapp/v4.0/cs02/vocabularies/Org.OData.Core.V1.xml
@@ -0,0 +1,134 @@
+<?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.
+
+-->
+
+<!--
+  OData Version 4.0
+  Committee Specification 02
+  17 November 2013
+  Copyright (c) OASIS Open 2013. All Rights Reserved.
+  Source: http://docs.oasis-open.org/odata/odata/v4.0/cs02/vocabularies/
+-->
+
+<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
+  <edmx:DataServices>
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Org.OData.Core.V1" Alias="Core">
+      <Annotation Term="Core.Description">
+        <String>Core terms needed to write vocabularies</String>
+      </Annotation>
+
+      <!--Documentation -->
+
+      <Term Name="Description" Type="Edm.String">
+        <Annotation Term="Core.Description" String="A brief description of a model element" />
+        <Annotation Term="Core.IsLanguageDependent" />
+      </Term>
+
+      <Term Name="LongDescription" Type="Edm.String">
+        <Annotation Term="Core.Description" String="A lengthy description of a model element" />
+        <Annotation Term="Core.IsLanguageDependent" />
+      </Term>
+
+      <!-- Localization -->
+
+      <Term Name="IsLanguageDependent" Type="Core.Tag" DefaultValue="true" AppliesTo="Property Term">
+        <Annotation Term="Core.Description" String="Properties and terms annotated with this term are language-dependent" />
+        <Annotation Term="Core.RequiresType" String="Edm.String" />
+      </Term>
+
+      <!-- Term Restrictions -->
+
+      <TypeDefinition Name="Tag" UnderlyingType="Edm.Boolean">
+        <Annotation Term="Core.Description" String="This is the type to use for all tagging terms" />
+      </TypeDefinition>
+
+      <Term Name="RequiresType" Type="Edm.String" AppliesTo="Term">
+        <Annotation Term="Core.Description"
+          String="Properties and terms annotated with this annotation MUST have a type that is identical to or derived from the given type name" />
+      </Term>
+
+      <!--Resource Paths -->
+
+      <Term Name="ResourcePath" Type="Edm.String" AppliesTo="EntitySet Singleton ActionImport FunctionImport">
+        <Annotation Term="Core.Description"
+          String="Resource path for entity container child, can be relative to xml:base and the request URL" />
+        <Annotation Term="Core.IsUrl" />
+      </Term>
+
+      <Term Name="DereferenceableIDs" Type="Core.Tag" DefaultValue="true" AppliesTo="EntityContainer">
+        <Annotation Term="Core.Description" String="Entity-ids are URLs that locate the identified entity" />
+      </Term>
+
+      <Term Name="ConventionalIDs" Type="Core.Tag" DefaultValue="true" AppliesTo="EntityContainer">
+        <Annotation Term="Core.Description" String="Entity-ids follow OData URL conventions" />
+      </Term>
+
+      <!-- Permissions -->
+
+      <Term Name="Permissions" Type="Core.Permission" AppliesTo="Property">
+        <Annotation Term="Core.Description" String="Permissions available for a property.The value of 2 is reserved for future use." />
+      </Term>
+      <EnumType Name="Permission" IsFlags="true">
+        <Member Name="None" Value="0" />
+        <Member Name="Read" Value="1" />
+        <Member Name="ReadWrite" Value="3" />
+      </EnumType>
+
+      <!-- Metadata Extensions -->
+
+      <Term Name="Immutable" Type="Core.Tag" DefaultValue="true" AppliesTo="Property">
+        <Annotation Term="Core.Description"
+          String="A value for this non-key property can be provided on insert and remains unchanged on update" />
+      </Term>
+
+      <Term Name="Computed" Type="Core.Tag" DefaultValue="true" AppliesTo="Property">
+        <Annotation Term="Core.Description" String="A value for this property is generated on both insert and update" />
+      </Term>
+
+      <Term Name="IsURL" Type="Core.Tag" DefaultValue="true" AppliesTo="Property Term">
+        <Annotation Term="Core.Description" String="Properties and terms annotated with this term MUST contain a valid URL" />
+        <Annotation Term="Core.RequiresType" String="Edm.String" />
+      </Term>
+
+      <Term Name="AcceptableMediaTypes" Type="Collection(Edm.String)" AppliesTo="EntityType Property">
+        <Annotation Term="Core.Description"
+          String="Lists the MIME types acceptable for the annotated entity type marked with HasStream=&quot;true&quot; or the annotated stream property" />
+        <Annotation Term="Core.IsMediaType" />
+      </Term>
+
+      <Term Name="MediaType" Type="Edm.String" AppliesTo="Property">
+        <Annotation Term="Core.IsMediaType" />
+        <Annotation Term="Core.RequiresType" String="Edm.Binary" />
+      </Term>
+
+      <Term Name="IsMediaType" Type="Core.Tag" DefaultValue="true" AppliesTo="Property Term">
+        <Annotation Term="Core.Description" String="Properties and terms annotated with this term MUST contain a valid MIME type" />
+        <Annotation Term="Core.RequiresType" String="Edm.String" />
+      </Term>
+
+      <Term Name="OptimisticConcurrency" Type="Collection(Edm.PropertyPath)" AppliesTo="EntitySet">
+        <Annotation Term="Core.Description"
+          String="Data modification requires the use of Etags. A non-empty collection contains the set of properties that are used to compute the ETag" />
+      </Term>
+
+    </Schema>
+  </edmx:DataServices>
+</edmx:Edmx>
\ No newline at end of file


[02/12] git commit: [OLINGO-266] Merge remote-tracking branch 'origin/master' into olingo-266-tecsvc

Posted by sk...@apache.org.
[OLINGO-266] Merge remote-tracking branch 'origin/master' into olingo-266-tecsvc


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

Branch: refs/heads/master
Commit: 92a4404dd451480ee31800ad62435112a0c11d61
Parents: a9ed465 72d894c
Author: Stephan Klevenz <st...@sap.com>
Authored: Thu May 22 12:35:13 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Thu May 22 12:35:13 2014 +0200

----------------------------------------------------------------------
 ext/client-proxy-android/pom.xml                |  96 +++++++
 ext/client-proxy/pom.xml                        |   2 +-
 .../ext/proxy/api/AbstractAnnotatable.java      |  34 ---
 .../olingo/ext/proxy/api/Annotatable.java       |  34 +++
 .../AnnotationsForNavigationProperty.java       |  34 +++
 .../api/annotations/AnnotationsForProperty.java |  34 +++
 .../commons/AbstractInvocationHandler.java      |  30 ++-
 .../AbstractStructuredInvocationHandler.java    |  59 +++--
 .../commons/AnnotatableInvocationHandler.java   | 180 +++++++++++++
 .../commons/AnnotatationsInvocationHandler.java |  91 +++++++
 .../ComplexFactoryInvocationHandler.java        |   1 +
 .../proxy/commons/ComplexInvocationHandler.java |  30 ++-
 .../olingo/ext/proxy/commons/ContainerImpl.java |  28 +-
 .../proxy/commons/EntityInvocationHandler.java  |  27 +-
 .../commons/EntitySetInvocationHandler.java     |  11 +-
 .../olingo/ext/proxy/commons/FilterImpl.java    |   2 +-
 .../commons/OperationInvocationHandler.java     |   7 +-
 .../olingo/ext/proxy/commons/SearchImpl.java    |   2 +-
 .../olingo/ext/proxy/context/EntityContext.java |   3 +-
 .../olingo/ext/proxy/utils/CoreUtils.java       |   5 +-
 .../src/main/resources/complexType.vm           |   4 +
 .../src/main/resources/entityType.vm            |  34 ++-
 .../src/main/resources/v40/complexType.vm       |  28 +-
 ext/pom.xml                                     |   1 +
 .../org/apache/olingo/fit/AbstractServices.java |   7 +-
 .../apache/olingo/fit/V3ActionOverloading.java  |   2 +-
 .../java/org/apache/olingo/fit/V3OpenType.java  |   2 +-
 .../org/apache/olingo/fit/V3PrimitiveKeys.java  |   2 +-
 .../main/java/org/apache/olingo/fit/V4Demo.java |   2 +-
 .../java/org/apache/olingo/fit/V4OpenType.java  |   2 +-
 .../java/org/apache/olingo/fit/V4Services.java  |  55 +++-
 .../org/apache/olingo/fit/V4Vocabularies.java   |   4 +-
 .../org/apache/olingo/fit/utils/DataBinder.java |  48 ++--
 .../org/apache/olingo/fit/utils/FSManager.java  |  80 ++++--
 .../apache/olingo/fit/utils/XMLUtilities.java   |   2 +-
 .../resources/V40/Accounts/102/entity.full.json |  34 +++
 .../main/resources/V40/Accounts/102/entity.xml  |  55 ++++
 .../V40/Accounts/102/links/MyGiftCard.full.json |  15 ++
 .../V40/Accounts/102/links/MyGiftCard.xml       |  41 +++
 .../MyPaymentInstruments(102901).full.json      |  16 ++
 .../102/links/MyPaymentInstruments(102901).xml  |  40 +++
 .../MyPaymentInstruments(102902).full.json      |  16 ++
 .../102/links/MyPaymentInstruments(102902).xml  |  40 +++
 .../102/links/MyPaymentInstruments.full.json    |  62 +++++
 .../Accounts/102/links/MyPaymentInstruments.xml |  95 +++++++
 .../main/resources/V40/Boss/entity.full.json    |   2 +
 fit/src/main/resources/V40/Boss/entity.xml      |   5 +-
 fit/src/main/resources/V40/openTypeMetadata.xml |   4 +
 .../olingo/fit/proxy/v3/AbstractTestITCase.java |   3 -
 .../proxy/v3/AuthEntityRetrieveTestITCase.java  |  48 ----
 .../proxy/v4/AuthEntityCreateTestITCase.java    |  50 ++++
 .../proxy/v4/AuthEntityRetrieveTestITCase.java  |   4 +-
 .../fit/proxy/v4/EntityCreateTestITCase.java    |   8 +-
 .../olingo/fit/proxy/v4/OpenTypeTestITCase.java |  11 +
 .../fit/proxy/v4/SingletonTestITCase.java       |  20 +-
 .../opentypesservicev4/DefaultContainer.java    |   6 +-
 .../odata/services/opentypesservicev4/Row.java  |   1 -
 .../services/opentypesservicev4/RowIndex.java   |   1 -
 .../opentypesservicev4/types/AccountInfo.java   |  90 +++++++
 .../types/ContactDetails.java                   |  25 +-
 .../opentypesservicev4/types/IndexedRow.java    |   5 +-
 .../types/IndexedRowCollection.java             |   5 +
 .../services/opentypesservicev4/types/Row.java  |   5 +-
 .../opentypesservicev4/types/RowCollection.java |   5 +
 .../opentypesservicev4/types/RowIndex.java      |  13 +-
 .../types/RowIndexCollection.java               |   5 +
 .../services/odatawcfservice/types/Account.java |  41 ++-
 .../odatawcfservice/types/AccountInfo.java      |  21 +-
 .../services/odatawcfservice/types/Address.java |  23 ++
 .../services/odatawcfservice/types/Asset.java   |  25 +-
 .../services/odatawcfservice/types/Club.java    |  21 +-
 .../services/odatawcfservice/types/Company.java |  49 +++-
 .../odatawcfservice/types/CompanyAddress.java   |  30 ++-
 .../odatawcfservice/types/CreditCardPI.java     |  62 ++++-
 .../odatawcfservice/types/CreditRecord.java     |  29 ++-
 .../odatawcfservice/types/Customer.java         |  70 ++++-
 .../odatawcfservice/types/Department.java       |  29 ++-
 .../odatawcfservice/types/Employee.java         |  62 ++++-
 .../odatawcfservice/types/GiftCard.java         |  33 ++-
 .../odatawcfservice/types/HomeAddress.java      |  30 ++-
 .../odatawcfservice/types/LabourUnion.java      |  21 +-
 .../services/odatawcfservice/types/Order.java   |  41 ++-
 .../odatawcfservice/types/OrderDetail.java      |  41 ++-
 .../types/PaymentInstrument.java                |  37 ++-
 .../services/odatawcfservice/types/Person.java  |  49 +++-
 .../services/odatawcfservice/types/Product.java |  53 +++-
 .../odatawcfservice/types/ProductDetail.java    |  37 ++-
 .../odatawcfservice/types/ProductReview.java    |  37 ++-
 .../odatawcfservice/types/PublicCompany.java    |  66 ++++-
 .../odatawcfservice/types/Statement.java        |  29 ++-
 .../odatawcfservice/types/StoredPI.java         |  29 ++-
 .../odatawcfservice/types/Subscription.java     |  33 ++-
 .../olingo/fit/v3/AbstractTestITCase.java       |   4 +-
 .../fit/v3/ActionOverloadingTestITCase.java     | 155 ++++-------
 .../apache/olingo/fit/v3/AsyncTestITCase.java   |  15 +-
 .../apache/olingo/fit/v3/BatchTestITCase.java   |  68 +++--
 .../apache/olingo/fit/v3/CountTestITCase.java   |   4 +-
 .../olingo/fit/v3/EntityCreateTestITCase.java   |  16 +-
 .../olingo/fit/v3/EntityRetrieveTestITCase.java |  14 +-
 .../olingo/fit/v3/EntitySetTestITCase.java      |   8 +-
 .../olingo/fit/v3/EntityUpdateTestITCase.java   |  26 +-
 .../apache/olingo/fit/v3/ErrorTestITCase.java   |  20 +-
 .../olingo/fit/v3/FilterFactoryTestITCase.java  |   2 +-
 .../apache/olingo/fit/v3/FilterTestITCase.java  |   2 +-
 .../apache/olingo/fit/v3/InvokeTestITCase.java  | 120 ++-------
 .../olingo/fit/v3/KeyAsSegmentTestITCase.java   |   6 +-
 .../apache/olingo/fit/v3/LinkTestITCase.java    |   8 +-
 .../olingo/fit/v3/MediaEntityTestITCase.java    |  44 ++--
 .../olingo/fit/v3/OpenTypeTestITCase.java       |   6 +-
 .../olingo/fit/v3/PrimitiveKeysTestITCase.java  |   2 +-
 .../fit/v3/PropertyRetrieveTestITCase.java      |   8 +-
 .../olingo/fit/v3/PropertyTestITCase.java       |  23 +-
 .../olingo/fit/v3/PropertyValueTestITCase.java  |  52 ++--
 .../olingo/fit/v3/QueryOptionsTestITCase.java   |  12 +-
 .../olingo/fit/v4/AbstractTestITCase.java       |   4 +-
 .../apache/olingo/fit/v4/AsyncTestITCase.java   |   6 +-
 .../apache/olingo/fit/v4/BatchTestITCase.java   | 124 ++++-----
 .../fit/v4/BoundOperationInvokeTestITCase.java  | 258 +++++++++++++------
 .../apache/olingo/fit/v4/DeltaTestITCase.java   |   2 +-
 .../olingo/fit/v4/DerivedTypeTestITCase.java    |   8 +-
 .../olingo/fit/v4/EntityCreateTestITCase.java   |   6 +-
 .../olingo/fit/v4/EntityRetrieveTestITCase.java |  20 +-
 .../olingo/fit/v4/EntitySetTestITCase.java      |   8 +-
 .../olingo/fit/v4/EntityUpdateTestITCase.java   |   8 +-
 .../olingo/fit/v4/ErrorResponseTestITCase.java  |   2 +-
 .../olingo/fit/v4/FilterFactoryTestITCase.java  |   2 +-
 .../olingo/fit/v4/KeyAsSegmentTestITCase.java   |   4 +-
 .../olingo/fit/v4/MediaEntityTestITCase.java    |  21 +-
 .../olingo/fit/v4/OpenTypeTestITCase.java       |   6 +-
 .../fit/v4/OperationImportInvokeTestITCase.java |  96 ++-----
 .../olingo/fit/v4/PropertyTestITCase.java       |  42 ++-
 .../olingo/fit/v4/PropertyValueTestITCase.java  |  67 +++--
 .../olingo/fit/v4/QueryOptionsTestITCase.java   |  22 +-
 .../olingo/fit/v4/SingletonTestITCase.java      |   6 +-
 .../org.apache.olingo.ext.proxy.complex         |   1 +
 .../client/api/CommonEdmEnabledODataClient.java |   2 +-
 .../olingo/client/api/CommonODataClient.java    |   7 +-
 .../api/communication/header/ODataHeaders.java  |  31 +++
 .../request/ODataPayloadManager.java            |  57 ++++
 .../request/ODataStreamManager.java             |  57 ----
 .../request/ODataStreamedRequest.java           |   6 +-
 .../request/batch/BatchManager.java             |  43 ++++
 .../request/batch/BatchStreamManager.java       |  42 ---
 .../request/batch/ODataRetrieve.java            |  37 ---
 .../request/batch/ODataSingleRequest.java       |  37 +++
 .../request/batch/v3/BatchStreamManager.java    |  26 --
 .../request/batch/v3/ODataBatchRequest.java     |   3 +-
 .../request/batch/v4/BatchStreamManager.java    |  34 ---
 .../request/batch/v4/ODataBatchRequest.java     |   3 +-
 .../request/cud/CommonCUDRequestFactory.java    |  41 +++
 .../invoke/EdmEnabledInvokeRequestFactory.java  |  65 ++++-
 .../request/invoke/InvokeRequestFactory.java    |  64 ++++-
 .../retrieve/CommonRetrieveRequestFactory.java  |  17 ++
 .../MediaEntityCreateStreamManager.java         |   4 +-
 .../MediaEntityUpdateStreamManager.java         |   4 +-
 .../streamed/ODataStreamedEntityRequest.java    |   4 +-
 .../streamed/StreamUpdateStreamManager.java     |   4 +-
 .../streamed/StreamedRequestFactory.java        |  67 -----
 .../request/v4/AsyncBatchRequestWrapper.java    |  15 +-
 .../client/api/v3/EdmEnabledODataClient.java    |   2 +-
 .../olingo/client/api/v3/ODataClient.java       |   2 +-
 .../client/api/v4/EdmEnabledODataClient.java    |   2 +-
 .../olingo/client/api/v4/ODataClient.java       |   2 +-
 .../olingo/client/core/AbstractODataClient.java |   1 -
 .../communication/header/ODataHeadersImpl.java  |  49 +---
 .../request/AbstractODataRequest.java           |   5 +-
 .../request/AbstractODataStreamManager.java     |   4 +-
 .../request/batch/AbstractBatchManager.java     | 143 ++++++++++
 .../batch/AbstractBatchStreamManager.java       | 138 ----------
 .../batch/AbstractODataBatchRequest.java        |   6 +-
 .../batch/AbstractODataBatchRequestItem.java    |   2 +-
 .../request/batch/ODataChangesetImpl.java       |   2 +-
 .../request/batch/ODataRetrieveImpl.java        |  81 ------
 .../batch/ODataRetrieveResponseItem.java        |  87 -------
 .../request/batch/ODataSingleRequestImpl.java   |  82 ++++++
 .../request/batch/ODataSingleResponseItem.java  |  87 +++++++
 .../batch/v3/BatchRequestFactoryImpl.java       |   2 +-
 .../request/batch/v3/ODataBatchRequestImpl.java |  36 ++-
 .../batch/v4/BatchRequestFactoryImpl.java       |   2 +-
 .../request/batch/v4/ODataBatchRequestImpl.java |  37 +--
 .../batch/v4/ODataOutsideUpdateImpl.java        |  84 ------
 .../v4/ODataOutsideUpdateResponseItem.java      |  80 ------
 .../request/cud/AbstractCUDRequestFactory.java  |  49 +++-
 .../cud/ODataPropertyUpdateRequestImpl.java     |   8 +-
 .../AbstractEdmEnabledInvokeRequestFactory.java | 172 +++++++++++++
 .../invoke/AbstractInvokeRequestFactory.java    |  55 +++-
 .../v3/EdmEnabledInvokeRequestFactoryImpl.java  |  78 +-----
 .../invoke/v3/InvokeRequestFactoryImpl.java     |  36 +--
 .../v4/EdmEnabledInvokeRequestFactoryImpl.java  |  78 +-----
 .../invoke/v4/InvokeRequestFactoryImpl.java     |  36 +--
 .../AbstractRetrieveRequestFactory.java         |  17 +-
 .../request/retrieve/ODataValueRequestImpl.java |   2 +-
 .../v3/ODataLinkCollectionRequestImpl.java      |   2 +-
 .../retrieve/v3/RetrieveRequestFactoryImpl.java |   2 +-
 .../retrieve/v4/RetrieveRequestFactoryImpl.java |   2 +-
 .../retrieve/v4/XMLMetadataRequestImpl.java     |   2 +-
 .../AbstractODataStreamedEntityRequest.java     |   4 +-
 .../streamed/AbstractODataStreamedRequest.java  |  20 +-
 .../ODataMediaEntityCreateRequestImpl.java      |  10 +-
 .../ODataMediaEntityUpdateRequestImpl.java      |  10 +-
 .../streamed/ODataStreamUpdateRequestImpl.java  |  10 +-
 .../streamed/StreamedRequestFactoryImpl.java    |  77 ------
 .../v4/AsyncBatchRequestWrapperImpl.java        |  21 +-
 .../client/core/op/impl/v4/ODataBinderImpl.java |   8 +-
 .../apache/olingo/client/core/uri/URIUtils.java |  80 +++---
 .../core/v3/EdmEnabledODataClientImpl.java      |   2 +-
 .../olingo/client/core/v3/ODataClientImpl.java  |  13 +-
 .../core/v4/EdmEnabledODataClientImpl.java      |   2 +-
 .../olingo/client/core/v4/ODataClientImpl.java  |  13 +-
 .../client/core/uri/v3/URIBuilderTest.java      |  26 +-
 .../client/core/uri/v4/URIBuilderTest.java      |  26 +-
 .../commons/api/domain/v4/ODataAnnotatable.java |  26 ++
 .../api/domain/v4/ODataAnnotatatable.java       |  26 --
 .../commons/api/domain/v4/ODataDeltaLink.java   |   2 +-
 .../commons/api/domain/v4/ODataEntity.java      |   2 +-
 .../commons/api/domain/v4/ODataEntitySet.java   |   2 +-
 .../olingo/commons/api/domain/v4/ODataLink.java |   2 +-
 .../api/domain/v4/ODataLinkedComplexValue.java  |   2 +-
 .../commons/api/domain/v4/ODataProperty.java    |   2 +-
 .../core/data/AbstractJsonSerializer.java       |   6 +-
 .../commons/core/data/AtomDeserializer.java     |   1 +
 pom.xml                                         |  43 +++-
 222 files changed, 4271 insertions(+), 2349 deletions(-)
----------------------------------------------------------------------



[10/12] git commit: [OLINGO-266] Merge remote-tracking branch 'origin/master' into olingo-266-tecsvc

Posted by sk...@apache.org.
[OLINGO-266] Merge remote-tracking branch 'origin/master' into olingo-266-tecsvc


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

Branch: refs/heads/master
Commit: 4cb3b32afeafee7e778410fac118252bf2c0ae91
Parents: e57edd7 b913717
Author: Stephan Klevenz <st...@sap.com>
Authored: Mon May 26 10:58:35 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Mon May 26 10:58:35 2014 +0200

----------------------------------------------------------------------
 .../ext/proxy/EntityContainerFactory.java       |   2 +-
 .../EntityContainerInvocationHandler.java       |   5 +-
 .../org/apache/olingo/fit/AbstractServices.java |   3 +-
 .../olingo/fit/proxy/v4/AbstractTestITCase.java |   3 +-
 .../proxy/v4/AuthEntityCreateTestITCase.java    |   4 +-
 .../proxy/v4/AuthEntityRetrieveTestITCase.java  |   4 +-
 .../fit/proxy/v4/EntityCreateTestITCase.java    |  10 +-
 .../fit/proxy/v4/EntityRetrieveTestITCase.java  |   8 +-
 .../fit/proxy/v4/KeyAsSegmentTestITCase.java    |  27 +++--
 .../v4/UnauthorizedEntityCreateTestITCase.java  |  57 +++++++++
 .../olingo/fit/v4/AuthBatchTestITCase.java      | 118 +++++++++++++++++++
 .../olingo/fit/v4/ErrorResponseTestITCase.java  |   6 +-
 .../ODataClientErrorException.java              |   4 +-
 .../communication/request/AbstractRequest.java  |  22 +++-
 .../streamed/AbstractODataStreamedRequest.java  |  30 +++--
 .../apache/olingo/client/core/uri/URIUtils.java |  17 +--
 .../core/edm/primitivetype/EdmBinary.java       |  22 +++-
 .../core/edm/primitivetype/EdmBinaryTest.java   |   2 +
 18 files changed, 279 insertions(+), 65 deletions(-)
----------------------------------------------------------------------