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