You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/05/05 16:05:44 UTC

[19/19] git commit: [OLINGO-271] Merge from master

[OLINGO-271] Merge from 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/dda7577f
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/dda7577f
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/dda7577f

Branch: refs/heads/olingo263
Commit: dda7577fa92d0bbe11424c48639f30ee5919c49f
Parents: 6e9cb60 22eb2ed
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Mon May 5 16:05:14 2014 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Mon May 5 16:05:14 2014 +0200

----------------------------------------------------------------------
 fit/pom.xml                                     | 30 +++----
 .../org/apache/olingo/fit/utils/Constants.java  | 12 +--
 .../main/resources/V30/Car/12/entity.full.json  |  4 +-
 fit/src/main/resources/V30/Car/12/entity.xml    |  4 +-
 .../main/resources/V30/Car/14/entity.full.json  |  4 +-
 fit/src/main/resources/V30/Car/14/entity.xml    |  4 +-
 .../main/resources/V30/Car/15/entity.full.json  |  4 +-
 fit/src/main/resources/V30/Car/15/entity.xml    |  4 +-
 .../main/resources/V30/Car/16/entity.full.json  |  4 +-
 fit/src/main/resources/V30/Car/16/entity.xml    |  4 +-
 fit/src/main/resources/V30/Car/feed.full.json   | 50 ++++++------
 fit/src/main/resources/V30/Car/feed.xml         | 52 ++++++------
 .../Car/filter/((1 add VIN) eq 16).full.json    |  2 +-
 .../V30/Car/filter/((1 add VIN) eq 16).xml      |  6 +-
 .../Car/filter/((VIN add 1) eq 16).full.json    |  2 +-
 .../V30/Car/filter/((VIN add 1) eq 16).xml      |  6 +-
 .../((VIN lt 16) and (VIN gt 12)).full.json     |  2 +-
 .../filter/((VIN lt 16) and (VIN gt 12)).xml    | 10 +--
 .../Car/filter/(16 eq (1 add VIN)).full.json    |  2 +-
 .../V30/Car/filter/(16 eq (1 add VIN)).xml      |  6 +-
 .../V30/Car/filter/(VIN lt 16).full.json        |  2 +-
 .../resources/V30/Car/filter/(VIN lt 16).xml    | 14 ++--
 ...ngth(Description) gt (VIN add 10)).full.json |  2 +-
 .../(length(Description) gt (VIN add 10)).xml   | 14 ++--
 .../V30/Car/filter/VIN add 5 lt 11.full.json    |  2 +-
 .../V30/Car/filter/VIN add 5 lt 11.xml          |  4 +-
 .../V30/Car/filter/VIN div 2 le 8.full.json     |  2 +-
 .../resources/V30/Car/filter/VIN div 2 le 8.xml |  2 +-
 .../filter/VIN le 18 and VIN gt 12.full.json    |  2 +-
 .../V30/Car/filter/VIN le 18 and VIN gt 12.xml  |  2 +-
 .../V30/Car/filter/VIN mul 2 le 30.full.json    |  2 +-
 .../V30/Car/filter/VIN mul 2 le 30.xml          |  2 +-
 ...not (((VIN ge 16) or (VIN le 12))).full.json |  2 +-
 .../not (((VIN ge 16) or (VIN le 12))).xml      | 10 +--
 .../startswith(Description,'cen').full.json     |  2 +-
 .../filter/startswith(Description,'cen').xml    |  6 +-
 .../VIN desc/filter/(VIN lt 16).full.json       | 12 +--
 .../Car/orderby/VIN desc/filter/(VIN lt 16).xml | 14 ++--
 .../V30/ComputerDetail/-10/entity.full.json     |  6 +-
 .../resources/V30/ComputerDetail/-10/entity.xml |  6 +-
 .../(month(PurchaseDate) eq 12).full.json       |  2 +-
 .../filter/(month(PurchaseDate) eq 12).xml      |  8 +-
 .../filter/day(PurchaseDate) eq 15.full.json    |  2 +-
 .../filter/day(PurchaseDate) eq 15.xml          |  2 +-
 .../filter/hour(PurchaseDate) eq 1.full.json    |  2 +-
 .../filter/hour(PurchaseDate) eq 1.xml          |  2 +-
 .../filter/minute(PurchaseDate) eq 33.full.json |  2 +-
 .../filter/minute(PurchaseDate) eq 33.xml       |  2 +-
 .../filter/month(PurchaseDate) eq 12.full.json  |  2 +-
 .../filter/month(PurchaseDate) eq 12.xml        |  2 +-
 .../filter/second(PurchaseDate) eq 35.full.json |  2 +-
 .../filter/second(PurchaseDate) eq 35.xml       |  2 +-
 .../filter/year(PurchaseDate) eq 2020.full.json |  2 +-
 .../filter/year(PurchaseDate) eq 2020.xml       |  2 +-
 .../resources/V30/Customer/-10/entity.full.json |  4 +-
 .../main/resources/V30/Customer/-10/entity.xml  |  4 +-
 .../V30/Customer/-10/links/Info.full.json       |  4 +-
 .../resources/V30/Customer/-10/links/Info.xml   |  2 +-
 .../Customer/-10/links/Logins('3').full.json    |  4 +-
 .../V30/Customer/-10/links/Logins.full.json     |  6 +-
 .../resources/V30/Customer/-10/links/Logins.xml |  4 +-
 .../Customer/-10/links/Orders(-10).full.json    |  4 +-
 .../V30/Customer/-10/links/Orders.full.json     |  8 +-
 .../resources/V30/Customer/-10/links/Orders.xml |  6 +-
 .../resources/V30/Customer/-7/entity.full.json  |  4 +-
 .../main/resources/V30/Customer/-7/entity.xml   |  4 +-
 .../resources/V30/Customer/-9/entity.full.json  |  4 +-
 .../main/resources/V30/Customer/-9/entity.xml   |  4 +-
 .../main/resources/V30/Customer/feed.full.json  |  6 +-
 fit/src/main/resources/V30/Customer/feed.xml    | 10 +--
 ....PhoneNumber,'ODataJClient') eq 1).full.json |  2 +-
 ...ePhone.PhoneNumber,'ODataJClient') eq 1).xml |  4 +-
 ...ne.PhoneNumber,'lccvussrv') ne -1).full.json |  2 +-
 ...omePhone.PhoneNumber,'lccvussrv') ne -1).xml | 10 +--
 .../Customer/filter/CustomerId eq -10.full.json |  4 +-
 .../V30/Customer/filter/CustomerId eq -10.xml   |  6 +-
 .../Customer/filter/CustomerId gt -10.full.json |  2 +-
 .../V30/Customer/filter/CustomerId gt -10.xml   | 10 +--
 .../Customer/filter/CustomerId lt -10.full.json |  2 +-
 .../V30/Customer/filter/CustomerId lt -10.xml   |  4 +-
 .../isof(Name,'Edm.String') eq true.full.json   |  2 +-
 .../filter/isof(Name,'Edm.String') eq true.xml  | 10 +--
 .../not endswith(Name,'Chandan').full.json      |  2 +-
 .../filter/not endswith(Name,'Chandan').xml     | 10 +--
 .../V30/Customer/skiptoken/-1.full.json         |  2 +-
 .../resources/V30/Customer/skiptoken/-1.xml     |  4 +-
 .../V30/Customer/skiptoken/-10.full.json        |  6 +-
 .../resources/V30/Customer/skiptoken/-10.xml    | 10 +--
 .../V30/Customer/skiptoken/-3.full.json         |  6 +-
 .../resources/V30/Customer/skiptoken/-3.xml     | 10 +--
 .../V30/Customer/skiptoken/-5.full.json         |  6 +-
 .../resources/V30/Customer/skiptoken/-5.xml     | 10 +--
 .../V30/Customer/skiptoken/-7.full.json         |  6 +-
 .../resources/V30/Customer/skiptoken/-7.xml     | 10 +--
 .../V30/Customer/skiptoken/-9.full.json         |  6 +-
 .../resources/V30/Customer/skiptoken/-9.xml     | 10 +--
 .../V30/CustomerInfo/11/entity.full.json        |  4 +-
 .../resources/V30/CustomerInfo/11/entity.xml    |  4 +-
 .../V30/CustomerInfo/12/entity.full.json        |  4 +-
 .../resources/V30/CustomerInfo/12/entity.xml    |  4 +-
 .../V30/CustomerInfo/17/entity.full.json        |  4 +-
 .../resources/V30/CustomerInfo/17/entity.xml    |  4 +-
 .../V30/EdmBooleanSet/true/entity.full.json     |  2 +-
 .../resources/V30/EdmBooleanSet/true/entity.xml |  4 +-
 .../V30/EdmByteSet/255/entity.full.json         |  2 +-
 .../resources/V30/EdmByteSet/255/entity.xml     |  4 +-
 .../entity.full.json                            |  2 +-
 .../79228162514264337593543950335M/entity.xml   |  4 +-
 .../1.7976931348623157E308D/entity.full.json    |  2 +-
 .../1.7976931348623157E308D/entity.xml          |  4 +-
 .../entity.full.json                            |  2 +-
 .../entity.xml                                  |  4 +-
 .../V30/EdmInt16Set/32767/entity.full.json      |  2 +-
 .../resources/V30/EdmInt16Set/32767/entity.xml  |  4 +-
 .../EdmInt32Set/-2147483648/entity.full.json    |  2 +-
 .../V30/EdmInt32Set/-2147483648/entity.xml      |  4 +-
 .../9223372036854775807L/entity.full.json       |  2 +-
 .../EdmInt64Set/9223372036854775807L/entity.xml |  4 +-
 .../EdmSingleSet/3.4028235E38f/entity.full.json |  2 +-
 .../V30/EdmSingleSet/3.4028235E38f/entity.xml   |  4 +-
 .../V30/EdmStringSet/'$'/entity.full.json       |  2 +-
 .../resources/V30/EdmStringSet/'$'/entity.xml   |  4 +-
 .../entity.full.json                            |  2 +-
 .../entity.xml                                  |  4 +-
 .../V30/InStreamErrorGetCustomer.full.json      |  2 +-
 .../resources/V30/InStreamErrorGetCustomer.xml  |  6 +-
 .../resources/V30/Login/'3'/entity.full.json    |  4 +-
 fit/src/main/resources/V30/Login/'3'/entity.xml |  4 +-
 .../V30/Message/1 -10/entity.full.json          |  4 +-
 .../main/resources/V30/Message/1 -10/entity.xml |  4 +-
 .../resources/V30/Order/-10/entity.full.json    |  4 +-
 fit/src/main/resources/V30/Order/-10/entity.xml |  4 +-
 .../resources/V30/Order/-7/entity.full.json     |  4 +-
 fit/src/main/resources/V30/Order/-7/entity.xml  |  4 +-
 .../resources/V30/Order/-8/entity.full.json     |  4 +-
 fit/src/main/resources/V30/Order/-8/entity.xml  |  4 +-
 .../resources/V30/Order/-9/entity.full.json     |  4 +-
 fit/src/main/resources/V30/Order/-9/entity.xml  |  4 +-
 .../V30/OrderLine/-10 -10/entity.full.json      |  4 +-
 .../resources/V30/OrderLine/-10 -10/entity.xml  |  4 +-
 .../filter/PersonId sub 2 lt -10.full.json      |  2 +-
 .../V30/Person/filter/PersonId sub 2 lt -10.xml | 12 +--
 ...iaDefaultService.SpecialEmployee').full.json |  2 +-
 ....AstoriaDefaultService.SpecialEmployee').xml | 20 ++---
 .../resources/V30/Product/-10/entity.full.json  |  6 +-
 .../main/resources/V30/Product/-10/entity.xml   |  6 +-
 .../resources/V30/Product/-6/entity.full.json   |  6 +-
 .../main/resources/V30/Product/-6/entity.xml    |  6 +-
 .../resources/V30/Product/-7/entity.full.json   |  6 +-
 .../main/resources/V30/Product/-7/entity.xml    |  6 +-
 .../V30/Product/-7/links/Photos.full.json       |  6 +-
 .../resources/V30/Product/-9/entity.full.json   |  6 +-
 .../main/resources/V30/Product/-9/entity.xml    |  6 +-
 .../main/resources/V30/Product/feed.full.json   | 42 +++++-----
 fit/src/main/resources/V30/Product/feed.xml     | 44 +++++-----
 .../ceiling(Dimensions.Width) eq 7338.full.json |  2 +-
 .../ceiling(Dimensions.Width) eq 7338.xml       |  8 +-
 ...', newname') eq 'kdcuklu, newname'.full.json |  2 +-
 ...tion, ', newname') eq 'kdcuklu, newname'.xml |  8 +-
 .../floor(Dimensions.Width) eq 7337.full.json   |  2 +-
 .../filter/floor(Dimensions.Width) eq 7337.xml  |  8 +-
 .../indexof(Description, 'k') eq 0.full.json    |  2 +-
 .../filter/indexof(Description, 'k') eq 0.xml   | 12 +--
 .../filter/length(Description) eq 7.full.json   |  2 +-
 .../Product/filter/length(Description) eq 7.xml |  8 +-
 .../round(Dimensions.Width) eq 7338.full.json   |  2 +-
 .../filter/round(Dimensions.Width) eq 7338.xml  |  8 +-
 ...artswith(Description, 'k') eq true.full.json |  2 +-
 .../startswith(Description, 'k') eq true.xml    | 12 +--
 ...of('kdcuklu', Description) eq true.full.json |  2 +-
 ...stringof('kdcuklu', Description) eq true.xml |  8 +-
 .../toupper(Description) eq 'KDCUKLU'.full.json |  2 +-
 .../toupper(Description) eq 'KDCUKLU'.xml       |  8 +-
 .../V30/ProductPhoto/-2 -2/entity.full.json     |  4 +-
 .../resources/V30/ProductPhoto/-2 -2/entity.xml |  4 +-
 .../V30/ProductPhoto/-3 -3/entity.full.json     |  4 +-
 .../resources/V30/ProductPhoto/-3 -3/entity.xml |  4 +-
 .../entity.full.json                            |  4 +-
 .../entity.xml                                  |  4 +-
 .../entity.full.json                            |  4 +-
 .../entity.xml                                  |  4 +-
 fit/src/main/resources/V30/services.full.json   |  2 +-
 fit/src/main/resources/V30/services.xml         |  2 +-
 .../resources/V40/Accounts/101/entity.full.json | 28 +++----
 .../main/resources/V40/Accounts/101/entity.xml  | 26 +++---
 .../V40/Accounts/101/links/MyGiftCard.full.json |  4 +-
 .../V40/Accounts/101/links/MyGiftCard.xml       |  6 +-
 .../MyPaymentInstruments(101901).full.json      | 14 ++--
 .../101/links/MyPaymentInstruments(101901).xml  |  8 +-
 .../101/links/MyPaymentInstruments.full.json    | 46 +++++------
 .../Accounts/101/links/MyPaymentInstruments.xml | 26 +++---
 .../main/resources/V40/Company/entity.full.json | 26 +++---
 fit/src/main/resources/V40/Company/entity.xml   | 22 ++---
 .../resources/V40/Customers/1/entity.full.json  | 22 ++---
 .../main/resources/V40/Customers/1/entity.xml   | 14 ++--
 .../V40/Customers/1/links/Company.full.json     |  4 +-
 .../resources/V40/Customers/1/links/Company.xml |  2 +-
 .../V40/Customers/1/links/Orders.full.json      |  6 +-
 .../resources/V40/Customers/1/links/Orders.xml  |  4 +-
 .../resources/V40/Customers/2/entity.full.json  | 22 ++---
 .../main/resources/V40/Customers/2/entity.xml   | 20 ++---
 .../main/resources/V40/Customers/feed.full.json | 10 +--
 fit/src/main/resources/V40/Customers/feed.xml   | 24 +++---
 .../V40/OrderDetails/7 5/entity.full.json       | 14 ++--
 .../resources/V40/OrderDetails/7 5/entity.xml   | 10 +--
 .../resources/V40/Orders/8/entity.full.json     | 18 ++--
 fit/src/main/resources/V40/Orders/8/entity.xml  | 14 ++--
 .../resources/V40/Orders/8/links/.full.json     |  4 +-
 .../Orders/8/links/CustomerForOrder.full.json   |  4 +-
 .../V40/Orders/8/links/CustomerForOrder.xml     |  2 +-
 .../main/resources/V40/Orders/feed.full.json    | 34 ++++----
 fit/src/main/resources/V40/Orders/feed.xml      | 24 +++---
 .../resources/V40/Org.OData.Capabilities.V1.xml |  2 +-
 .../resources/V40/Org.OData.Measures.V1.xml     |  2 +-
 .../resources/V40/People/1/entity.full.json     | 22 ++---
 fit/src/main/resources/V40/People/1/entity.xml  | 14 ++--
 .../resources/V40/People/5/entity.full.json     | 14 ++--
 fit/src/main/resources/V40/People/5/entity.xml  | 10 +--
 .../main/resources/V40/People/feed.full.json    | 86 ++++++++++----------
 fit/src/main/resources/V40/People/feed.xml      | 50 ++++++------
 .../V40/People/filter/(PersonID eq 5).full.json |  6 +-
 .../V40/People/filter/(PersonID eq 5).xml       | 14 ++--
 .../V40/People/filter/(PersonID lt 3).full.json | 10 +--
 .../V40/People/filter/(PersonID lt 3).xml       | 24 +++---
 .../filter/(PersonID lt 3).full.json            | 10 +--
 .../PersonID desc/filter/(PersonID lt 3).xml    | 24 +++---
 .../resources/V40/People/skiptoken/5.full.json  | 14 ++--
 .../main/resources/V40/People/skiptoken/5.xml   | 12 +--
 .../V40/ProductDetails/6 1/entity.full.json     | 16 ++--
 .../resources/V40/ProductDetails/6 1/entity.xml | 14 ++--
 .../resources/V40/Products/5/entity.full.json   | 14 ++--
 .../main/resources/V40/Products/5/entity.xml    | 16 ++--
 .../resources/V40/Products/6/entity.full.json   | 14 ++--
 .../main/resources/V40/Products/6/entity.xml    |  8 +-
 .../main/resources/V40/Products/feed.full.json  | 62 +++++++-------
 fit/src/main/resources/V40/Products/feed.xml    | 36 ++++----
 .../entity.full.json                            |  4 +-
 .../entity.xml                                  |  6 +-
 .../entity.full.json                            |  4 +-
 .../entity.xml                                  |  6 +-
 fit/src/main/resources/V40/crossjoin.full.json  |  2 +-
 fit/src/main/resources/V40/delta.full.json      |  2 +-
 fit/src/main/resources/V40/delta.xml            | 20 ++---
 .../main/resources/V40/northwind-metadata.xml   |  2 +-
 ...JkZXJzKDgpL0N1c3RvbWVyRm9yT3JkZXI=.full.json |  4 +-
 .../T3JkZXJzKDgpL0N1c3RvbWVyRm9yT3JkZXI=.xml    |  2 +-
 fit/src/main/resources/V40/services.full.json   |  2 +-
 fit/src/main/resources/V40/services.xml         |  4 +-
 .../resources/V40/vocabularies-metadata.xml     |  6 +-
 fit/src/main/resources/esigate.properties       |  4 +-
 .../olingo/fit/v3/AbstractTestITCase.java       | 12 +--
 .../olingo/fit/v4/AbstractTestITCase.java       | 14 ++--
 252 files changed, 1050 insertions(+), 1048 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/dda7577f/fit/src/main/resources/V40/Org.OData.Capabilities.V1.xml
----------------------------------------------------------------------
diff --cc fit/src/main/resources/V40/Org.OData.Capabilities.V1.xml
index 9703401,0000000..6e67527
mode 100644,000000..100644
--- a/fit/src/main/resources/V40/Org.OData.Capabilities.V1.xml
+++ b/fit/src/main/resources/V40/Org.OData.Capabilities.V1.xml
@@@ -1,326 -1,0 +1,326 @@@
 +<?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.
 +
 +-->
 +<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
-   <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/StaticService/V40/Vocabularies.svc/Org.OData.Core.V1.xml">
++  <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/stub/StaticService/V40/Vocabularies.svc/Org.OData.Core.V1.xml">
 +    <edmx:Include Alias="Core" Namespace="Org.OData.Core.V1" />
 +  </edmx:Reference>
 +  <edmx:DataServices>
 +    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Org.OData.Capabilities.V1" Alias="Capabilities">
 +      <Annotation Term="Core.Description">
 +        <String>
 +          The Capabilities vocabulary aims to provide a way for service authors to describe
 +          certain capabilities of an OData Service.
 +        </String>
 +      </Annotation>
 +      <Annotation Term="Core.LongDescription">
 +        <String>
 +          There are some capabilities which are strongly recommended for services to support even
 +          though they are optional. Support for $top and $skip is a good example as
 +          supporting these query options helps with performance of a service and are essential. Such
 +          capabilities are assumed to be default capabilities of an OData service even in
 +          the case that a capabilities annotation doesn’t exist. Capabilities annotations are
 +          mainly expected to be used to explicitly specify that a service doesn’t support such
 +          capabilities. Capabilities annotations can as well be used to declaratively
 +          specify the support of such capabilities.
 +
 +          On the other hand, there are some capabilities that a service may choose to support or
 +          not support and in varying degrees. $filter and $orderby are such good examples.
 +          This vocabulary aims to define terms to specify support or no support for such
 +          capabilities.
 +
 +          A service is assumed to support by default the following capabilities even though an
 +          annotation doesn’t exist:
 +          - Countability ($count, $inlinecount)
 +          - Client pageability ($top, $skip)
 +          - Expandability ($expand)
 +          - Indexability by key
 +          - Batch support ($batch)
 +          - Navigability of navigation properties
 +
 +          A service is expected to support the following capabilities. If not supported, the
 +          service is expected to call out the restrictions using annotations:
 +          - Filterability ($filter)
 +          - Sortability ($orderby)
 +          - Queryability of top level entity sets
 +          - Query functions
 +
 +          A client cannot assume that a service supports certain capabilities. A client can try, but
 +          it needs to be prepared to handle an error in case the following capabilities are not
 +          supported:
 +          - Insertability
 +          - Updatability
 +          - Deletability
 +        </String>
 +      </Annotation>
 +
 +      <!-- Conformance Level -->
 +
 +      <Term Name="ConformanceLevel" Type="Capabilities.ConformanceLevelType" AppliesTo="EntityContainer" />
 +      <EnumType Name="ConformanceLevelType">
 +        <Member Name="Minimal" />
 +        <Member Name="Intermediate" />
 +        <Member Name="Advanced" />
 +      </EnumType>
 +
 +      <!-- Request Capabilities -->
 +
 +      <Term Name="SupportedFormats" Type="Collection(Edm.String)">
 +        <Annotation Term="Core.Description" String="Media types of supported formats, including format parameters" />
 +        <Annotation Term="Core.IsMediaType" />
 +      </Term>
 +
 +      <Term Name="AcceptableEncodings" Type="Collection(Edm.String)" AppliesTo="EntityContainer">
 +        <Annotation Term="Core.Description" String="List of acceptable compression methods for ($batch) requests, e.g. gzip" />
 +      </Term>
 +
 +      <!-- Supported Preferences -->
 +
 +      <Term Name="AsynchronousRequestsSupported" Type="Core.Tag" DefaultValue="true" AppliesTo="EntityContainer">
 +        <Annotation Term="Core.Description" String="Service supports the asynchronous request preference" />
 +      </Term>
 +
 +      <Term Name="BatchContinueOnErrorSupported" Type="Core.Tag" DefaultValue="true" AppliesTo="EntityContainer">
 +        <Annotation Term="Core.Description" String="Service supports the continue on error preference" />
 +      </Term>
 +
 +      <Term Name="IsolationSupported" Type="Capabilities.IsolationLevel" AppliesTo="EntityContainer">
 +        <Annotation Term="Core.Description" String="Supported odata.isolation levels" />
 +      </Term>
 +      <EnumType Name="IsolationLevel" IsFlags="true">
 +        <Member Name="Snapshot" Value="1" />
 +      </EnumType>
 +
 +      <Term Name="CallbackSupported" Type="Capabilities.CallbackType" AppliesTo="EntityContainer EntitySet">
 +        <Annotation Term="Core.Description" String="Supports callbacks for the specified protocols" />
 +      </Term>
 +      <Term Name="CrossJoinSupported" Type="Core.Tag" DefaultValue="true" AppliesTo="EntityContainer">
 +        <Annotation Term="Core.Description" String="Supports cross joins for the entity sets in this container" />
 +      </Term>
 +      <ComplexType Name="CallbackType">
 +        <Property Name="CallbackProtocols" Type="Collection(Capabilities.CallbackProtocol)" />
 +        <Annotation Term="Core.Description"
 +          String="A non-empty collection lists the full set of supported protocols. A empty collection means 'only HTTP is supported'" />
 +      </ComplexType>
 +      <ComplexType Name="CallbackProtocol">
 +        <Property Name="Id" Type="Edm.String">
 +          <Annotation Term="Core.Description" String="Protcol Identifier" />
 +        </Property>
 +        <Property Name="UrlTemplate" Type="Edm.String">
 +          <Annotation Term="Core.Description"
 +            String="URL Template including parameters. Parameters are enclosed in curly braces {} as defined in RFC6570" />
 +        </Property>
 +        <Property Name="DocumentationUrl" Type="Edm.String" Nullable="true">
 +          <Annotation Term="Core.Description" String="Human readable description of the meaning of the URL Template parameters" />
 +          <Annotation Term="Core.IsURL" />
 +        </Property>
 +      </ComplexType>
 +
 +      <Term Name="ChangeTracking" Type="Capabilities.ChangeTrackingType" AppliesTo="EntityContainer EntitySet">
 +        <Annotation Term="Core.Description" String="Change tracking capabilities of this service or entity set" />
 +      </Term>
 +      <ComplexType Name="ChangeTrackingType">
 +        <Property Name="Supported" Type="Edm.Boolean" DefaultValue="true">
 +          <Annotation Term="Core.Description" String="This entity set supports the odata.track-changes preference" />
 +        </Property>
 +        <Property Name="FilterableProperties" Type="Collection(Edm.PropertyPath)">
 +          <Annotation Term="Core.Description" String="Change tracking supports filters on these properties" />
 +        </Property>
 +        <Property Name="ExpandableProperties" Type="Collection(Edm.NavigationPropertyPath)">
 +          <Annotation Term="Core.Description" String="Change tracking supports these properties expanded" />
 +        </Property>
 +      </ComplexType>
 +
 +      <!--Query Capabilities -->
 +
 +      <Term Name="CountRestrictions" Type="Capabilities.CountRestrictionsType" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Restrictions on /$count path suffix and $count=true system query option" />
 +      </Term>
 +      <ComplexType Name="CountRestrictionsType">
 +        <Property Name="Countable" Type="Edm.Boolean" DefaultValue="true">
 +          <Annotation Term="Core.Description" String="Entities can be counted" />
 +        </Property>
 +        <Property Name="NonCountableProperties" Type="Collection(Edm.PropertyPath)">
 +          <Annotation Term="Core.Description" String="These collection properties do not allow /$count segments" />
 +        </Property>
 +        <Property Name="NonCountableNavigationProperties" Type="Collection(Edm.NavigationPropertyPath)">
 +          <Annotation Term="Core.Description" String="These navigation properties do not allow /$count segments" />
 +        </Property>
 +      </ComplexType>
 +
 +      <Term Name="NavigationRestrictions" Type="Capabilities.NavigationRestrictionsType" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Restrictions on navigating properties according to OData URL conventions" />
 +      </Term>
 +      <ComplexType Name="NavigationRestrictionsType">
 +        <Property Name="Navigability" Type="Capabilities.NavigationType">
 +          <Annotation Term="Core.Description" String="Supported Navigability" />
 +        </Property>
 +        <Property Name="RestrictedProperties" Type="Collection(Capabilities.NavigationPropertyRestriction)" />
 +      </ComplexType>
 +      <ComplexType Name="NavigationPropertyRestriction">
 +        <Property Name="NavigationProperty" Type="Edm.NavigationPropertyPath">
 +          <Annotation Term="Core.Description" String="Navigation properties can be navigated to a single level" />
 +        </Property>
 +        <Property Name="Navigability" Type="Capabilities.NavigationType">
 +          <Annotation Term="Core.Description" String="Navigation properties can be navigated to a single level" />
 +        </Property>
 +      </ComplexType>
 +      <EnumType Name="NavigationType">
 +        <Member Name="Recursive">
 +          <Annotation Term="Core.Description" String="Navigation properties can be recursively navigated" />
 +        </Member>
 +        <Member Name="Single">
 +          <Annotation Term="Core.Description" String="Navigation properties can be navigated to a single level" />
 +        </Member>
 +        <Member Name="None">
 +          <Annotation Term="Core.Description" String="Navigation properties are not navigable" />
 +        </Member>
 +      </EnumType>
 +
 +      <Term Name="IndexableByKey" Type="Core.Tag" DefaultValue="true" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Supports key values according to OData URL conventions" />
 +      </Term>
 +
 +      <Term Name="TopSupported" Type="Core.Tag" DefaultValue="true" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Supports $top" />
 +      </Term>
 +      <Term Name="SkipSupported" Type="Core.Tag" DefaultValue="true" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Supports $skip" />
 +      </Term>
 +
 +      <Term Name="BatchSupported" Type="Core.Tag" DefaultValue="true" AppliesTo="EntityContainer">
 +        <Annotation Term="Core.Description" String="Supports $batch requests" />
 +      </Term>
 +
 +      <Term Name="FilterFunctions" Type="Collection(Edm.String)" AppliesTo="EntityContainer EntitySet">
 +        <Annotation Term="Core.Description" String="List of functions supported in $filter" />
 +      </Term>
 +
 +      <Term Name="FilterRestrictions" Type="Capabilities.FilterRestrictionsType" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Restrictions on $filter expressions" />
 +      </Term>
 +      <ComplexType Name="FilterRestrictionsType">
 +        <Property Name="Filterable" Type="Edm.Boolean" DefaultValue="true">
 +          <Annotation Term="Core.Description" String="$filter is supported" />
 +        </Property>
 +        <Property Name="RequiresFilter" Type="Edm.Boolean" Nullable="true">
 +          <Annotation Term="Core.Description" String="$filter is required" />
 +        </Property>
 +        <Property Name="RequiredProperties" Type="Collection(Edm.PropertyPath)">
 +          <Annotation Term="Core.Description"
 +            String="These properties must be specified in the $filter clause (properties of derived types are not allowed here)" />
 +        </Property>
 +        <Property Name="NonFilterableProperties" Type="Collection(Edm.PropertyPath)">
 +          <Annotation Term="Core.Description" String="These properties cannot be used in $filter expressions" />
 +        </Property>
 +      </ComplexType>
 +
 +      <Term Name="SortRestrictions" Type="Capabilities.SortRestrictionsType" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Restrictions on $orderby expressions" />
 +      </Term>
 +      <ComplexType Name="SortRestrictionsType">
 +        <Property Name="Sortable" Type="Edm.Boolean" DefaultValue="true">
 +          <Annotation Term="Core.Description" String="$orderby is supported" />
 +        </Property>
 +        <Property Name="AscendingOnlyProperties" Type="Collection(Edm.PropertyPath)">
 +          <Annotation Term="Core.Description" String="These properties can only be used for sorting in Ascending order" />
 +        </Property>
 +        <Property Name="DescendingOnlyProperties" Type="Collection(Edm.PropertyPath)">
 +          <Annotation Term="Core.Description" String="These properties can only be used for sorting in Descending order" />
 +        </Property>
 +        <Property Name="NonSortableProperties" Type="Collection(Edm.PropertyPath)">
 +          <Annotation Term="Core.Description" String="These properties cannot be used in $orderby expressions" />
 +        </Property>
 +      </ComplexType>
 +
 +      <Term Name="ExpandRestrictions" Type="Capabilities.ExpandRestrictionsType" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Restrictions on $expand expressions" />
 +      </Term>
 +      <ComplexType Name="ExpandRestrictionsType">
 +        <Property Name="Expandable" Type="Edm.Boolean" DefaultValue="true">
 +          <Annotation Term="Core.Description" String="$expand is supported" />
 +        </Property>
 +        <Property Name="NonExpandableProperties" Type="Collection(Edm.NavigationPropertyPath)">
 +          <Annotation Term="Core.Description" String="These properties cannot be used in $expand expressions" />
 +        </Property>
 +      </ComplexType>
 +
 +      <Term Name="SearchRestrictions" Type="Capabilities.SearchRestrictionsType" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Restrictions on $search expressions" />
 +      </Term>
 +      <ComplexType Name="SearchRestrictionsType">
 +        <Property Name="Searchable" Type="Edm.Boolean" DefaultValue="true">
 +          <Annotation Term="Core.Description" String="$search is supported" />
 +        </Property>
 +        <Property Name="UnsupportedExpressions" Type="Capabilities.SearchExpressions" DefaultValue="none">
 +          <Annotation Term="Core.Description" String="Expressions supported in $search" />
 +        </Property>
 +      </ComplexType>
 +      <EnumType Name="SearchExpressions" IsFlags="true">
 +        <Member Name="none" Value="0" />
 +        <Member Name="AND" Value="1" />
 +        <Member Name="OR" Value="2" />
 +        <Member Name="NOT" Value="4" />
 +        <Member Name="phrase" Value="8" />
 +        <Member Name="group" Value="16" />
 +      </EnumType>
 +
 +      <!-- Data Modification Capabilities -->
 +
 +      <Term Name="InsertRestrictions" Type="Capabilities.InsertRestrictionsType" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Restrictions on insert operations" />
 +      </Term>
 +      <ComplexType Name="InsertRestrictionsType">
 +        <Property Name="Insertable" Type="Edm.Boolean" DefaultValue="true">
 +          <Annotation Term="Core.Description" String="Entities can be inserted" />
 +        </Property>
 +        <Property Name="NonInsertableNavigationProperties" Type="Collection(Edm.NavigationPropertyPath)">
 +          <Annotation Term="Core.Description" String="These navigation properties do not allow deep inserts" />
 +        </Property>
 +      </ComplexType>
 +
 +      <Term Name="UpdateRestrictions" Type="Capabilities.UpdateRestrictionsType" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Restrictions on update operations" />
 +      </Term>
 +      <ComplexType Name="UpdateRestrictionsType">
 +        <Property Name="Updatable" Type="Edm.Boolean" DefaultValue="true">
 +          <Annotation Term="Core.Description" String="Entities can be updated" />
 +        </Property>
 +        <Property Name="NonUpdatableNavigationProperties" Type="Collection(Edm.NavigationPropertyPath)">
 +          <Annotation Term="Core.Description" String="These navigation properties do not allow rebinding" />
 +        </Property>
 +      </ComplexType>
 +
 +      <Term Name="DeleteRestrictions" Type="Capabilities.DeleteRestrictionsType" AppliesTo="EntitySet">
 +        <Annotation Term="Core.Description" String="Restrictions on delete operations" />
 +      </Term>
 +      <ComplexType Name="DeleteRestrictionsType">
 +        <Property Name="Deletable" Type="Edm.Boolean" DefaultValue="true">
 +          <Annotation Term="Core.Description" String="Entities can be deleted" />
 +        </Property>
 +        <Property Name="NonDeletableNavigationProperties" Type="Collection(Edm.NavigationPropertyPath)">
 +          <Annotation Term="Core.Description" String="These navigation properties do not allow DeleteLink requests" />
 +        </Property>
 +      </ComplexType>
 +
 +    </Schema>
 +  </edmx:DataServices>
 +</edmx:Edmx>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/dda7577f/fit/src/main/resources/V40/Org.OData.Measures.V1.xml
----------------------------------------------------------------------
diff --cc fit/src/main/resources/V40/Org.OData.Measures.V1.xml
index 0d214c3,0000000..914e1df
mode 100644,000000..100644
--- a/fit/src/main/resources/V40/Org.OData.Measures.V1.xml
+++ b/fit/src/main/resources/V40/Org.OData.Measures.V1.xml
@@@ -1,48 -1,0 +1,48 @@@
 +<?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.
 +
 +-->
 +<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
-   <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/StaticService/V40/Vocabularies.svc/Org.OData.Core.V1.xml">
++  <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/stub/StaticService/V40/Vocabularies.svc/Org.OData.Core.V1.xml">
 +    <edmx:Include Alias="Core" Namespace="Org.OData.Core.V1" />
 +  </edmx:Reference>
 +  <edmx:DataServices>
 +    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Org.OData.Measures.V1" Alias="Measures">
 +      <Annotation Term="Core.Description">
 +        <String>Terms describing monetary amounts and measured quantities</String>
 +      </Annotation>
 +
 +      <Term Name="ISOCurrency" Type="Edm.String" AppliesTo="Property">
 +        <Annotation Term="Core.Description" String="The currency for this monetary amount as an ISO 4217 currency code" />
 +      </Term>
 +
 +      <Term Name="Scale" Type="Edm.Byte" AppliesTo="Property">
 +        <Annotation Term="Core.Description"
 +          String="The number of significant decimal places in the scale part (less than or equal to the number declared in the Scale facet)" />
 +        <Annotation Term="Core.RequiresType" String="Edm.Decimal" />
 +      </Term>
 +
 +      <Term Name="Unit" Type="Edm.String" AppliesTo="Property">
 +        <Annotation Term="Core.Description" String="The unit of measure for this measured quantity, e.g. cm for centimeters or % for percentages" />
 +      </Term>
 +
 +    </Schema>
 +  </edmx:DataServices>
 +</edmx:Edmx>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/dda7577f/fit/src/main/resources/V40/northwind-metadata.xml
----------------------------------------------------------------------
diff --cc fit/src/main/resources/V40/northwind-metadata.xml
index fa786e7,789007f..058ab7c
--- a/fit/src/main/resources/V40/northwind-metadata.xml
+++ b/fit/src/main/resources/V40/northwind-metadata.xml
@@@ -20,7 -20,7 +20,7 @@@
  
  -->
  <edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
-   <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/StaticService/V40/NorthWindExt.svc/$metadata">
 -  <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/stub/StaticService/V40/NorthWindExt.svc">
++  <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/stub/StaticService/V40/NorthWindExt.svc/$metadata">
      <edmx:Include Namespace="NorthwindModel"/>
    </edmx:Reference>
    <edmx:DataServices>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/dda7577f/fit/src/main/resources/V40/vocabularies-metadata.xml
----------------------------------------------------------------------
diff --cc fit/src/main/resources/V40/vocabularies-metadata.xml
index afe5825,0000000..f076b22
mode 100644,000000..100644
--- a/fit/src/main/resources/V40/vocabularies-metadata.xml
+++ b/fit/src/main/resources/V40/vocabularies-metadata.xml
@@@ -1,37 -1,0 +1,37 @@@
 +<?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.
 +
 +-->
 +<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
-   <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/StaticService/V40/Vocabularies.svc/Org.OData.Core.V1.xml">
++  <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/stub/StaticService/V40/Vocabularies.svc/Org.OData.Core.V1.xml">
 +    <edmx:Include Alias="Core" Namespace="Org.OData.Core.V1"/>
 +  </edmx:Reference>
-   <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/StaticService/V40/Vocabularies.svc/Org.OData.Measures.V1.xml">
++  <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/stub/StaticService/V40/Vocabularies.svc/Org.OData.Measures.V1.xml">
 +    <edmx:Include Alias="UoM" Namespace="Org.OData.Measures.V1"/>
 +  </edmx:Reference>
-   <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/StaticService/V40/Vocabularies.svc/Org.OData.Capabilities.V1.xml">
++  <edmx:Reference Uri="http://localhost:${cargo.servlet.port}/stub/StaticService/V40/Vocabularies.svc/Org.OData.Capabilities.V1.xml">
 +    <edmx:Include Alias="Capabilities" Namespace="Org.OData.Capabilities.V1"/>
 +  </edmx:Reference>
 +  
 +  <edmx:DataServices>
 +    <Schema Namespace="Vocabularies" xmlns="http://docs.oasis-open.org/odata/ns/edm">
 +    </Schema>
 +  </edmx:DataServices>
 +</edmx:Edmx>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/dda7577f/fit/src/test/java/org/apache/olingo/fit/v4/AbstractTestITCase.java
----------------------------------------------------------------------
diff --cc fit/src/test/java/org/apache/olingo/fit/v4/AbstractTestITCase.java
index 5b49444,0082868..4916126
--- a/fit/src/test/java/org/apache/olingo/fit/v4/AbstractTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/AbstractTestITCase.java
@@@ -63,15 -59,13 +63,15 @@@ public abstract class AbstractTestITCas
  
    @BeforeClass
    public static void setUpODataServiceRoot() throws IOException {
-     testStaticServiceRootURL = "http://localhost:9080/StaticService/V40/Static.svc";
-     testVocabulariesServiceRootURL = "http://localhost:9080/StaticService/V40/Vocabularies.svc";
-     testNorthwindRootURL = "http://localhost:9080/StaticService/V40/NorthWind.svc";
-     testKeyAsSegmentServiceRootURL = "http://localhost:9080/StaticService/V40/KeyAsSegment.svc";
-     testOpenTypeServiceRootURL = "http://localhost:9080/StaticService/V40/OpenType.svc";
-     testLargeModelServiceRootURL = "http://localhost:9080/StaticService/V40/Static.svc/large";
-     testAuthServiceRootURL = "http://localhost:9080/DefaultService.svc";
+     testStaticServiceRootURL = "http://localhost:9080/stub/StaticService/V40/Static.svc";
++    testVocabulariesServiceRootURL = "http://localhost:9080/stub/StaticService/V40/Vocabularies.svc";
++    testNorthwindRootURL = "http://localhost:9080/stub/StaticService/V40/NorthWind.svc";
+     testKeyAsSegmentServiceRootURL = "http://localhost:9080/stub/StaticService/V40/KeyAsSegment.svc";
+     testOpenTypeServiceRootURL = "http://localhost:9080/stub/StaticService/V40/OpenType.svc";
+     testLargeModelServiceRootURL = "http://localhost:9080/stub/StaticService/V40/Static.svc/large";
+     testAuthServiceRootURL = "http://localhost:9080/stub/DefaultService.svc";
  
 -    edmClient = ODataClientFactory.getEdmEnabledV4(testStaticServiceRootURL);  
 +    edmClient = ODataClientFactory.getEdmEnabledV4(testStaticServiceRootURL);
    }
  
    @Override