You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2016/02/13 07:34:06 UTC
[12/22] olingo-odata4 git commit: OLINGO-861, OLINGO-863, OLINGO-868,
OLINGO-869 : Improvements to MetadataParser for annotation support
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6d94f0e3/lib/server-core-ext/src/test/resources/trippin.xml
----------------------------------------------------------------------
diff --git a/lib/server-core-ext/src/test/resources/trippin.xml b/lib/server-core-ext/src/test/resources/trippin.xml
index 5970793..3266344 100644
--- a/lib/server-core-ext/src/test/resources/trippin.xml
+++ b/lib/server-core-ext/src/test/resources/trippin.xml
@@ -1,356 +1,458 @@
<?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. -->
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
- <edmx:DataServices>
- <Schema Namespace="Microsoft.OData.SampleService.Models.TripPin" xmlns="http://docs.oasis-open.org/odata/ns/edm">
- <EnumType Name="PersonGender">
- <Member Name="Male" Value="0" />
- <Member Name="Female" Value="1" />
- <Member Name="Unknown" Value="2" />
- </EnumType>
- <ComplexType Name="City">
- <Property Name="CountryRegion" Type="Edm.String" Nullable="false" />
- <Property Name="Name" Type="Edm.String" Nullable="false" />
- <Property Name="Region" Type="Edm.String" Nullable="false" />
- </ComplexType>
- <ComplexType Name="Location" OpenType="true">
- <Property Name="Address" Type="Edm.String" Nullable="false" />
- <Property Name="City" Type="Microsoft.OData.SampleService.Models.TripPin.City" Nullable="false" />
- </ComplexType>
- <ComplexType Name="EventLocation" BaseType="Microsoft.OData.SampleService.Models.TripPin.Location" OpenType="true">
- <Property Name="BuildingInfo" Type="Edm.String" />
- </ComplexType>
- <ComplexType Name="AirportLocation" BaseType="Microsoft.OData.SampleService.Models.TripPin.Location" OpenType="true">
- <Property Name="Loc" Type="Edm.GeographyPoint" Nullable="false" SRID="4326" />
- </ComplexType>
- <EntityType Name="Photo" HasStream="true">
- <Key>
- <PropertyRef Name="Id" />
- </Key>
- <Property Name="Id" Type="Edm.Int64" Nullable="false">
- <Annotation Term="Org.OData.Core.V1.Permissions">
- <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
- </Annotation>
- </Property>
- <Property Name="Name" Type="Edm.String" />
- <Annotation Term="Org.OData.Core.V1.AcceptableMediaTypes">
- <Collection>
- <String>image/jpeg</String>
- </Collection>
- </Annotation>
- </EntityType>
- <EntityType Name="Person" OpenType="true">
- <Key>
- <PropertyRef Name="UserName" />
- </Key>
- <Property Name="UserName" Type="Edm.String" Nullable="false">
- <Annotation Term="Org.OData.Core.V1.Permissions">
- <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
- </Annotation>
- </Property>
- <Property Name="FirstName" Type="Edm.String" Nullable="true" />
- <Property Name="LastName" Type="Edm.String" Nullable="false" />
- <Property Name="Emails" Type="Collection(Edm.String)" />
- <Property Name="AddressInfo" Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Location)" />
- <Property Name="Gender" Type="Microsoft.OData.SampleService.Models.TripPin.PersonGender" />
- <Property Name="Concurrency" Type="Edm.Int64" Nullable="false">
- <Annotation Term="Org.OData.Core.V1.Computed" Bool="true" />
- </Property>
- <NavigationProperty Name="Friends" Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Person)" />
- <NavigationProperty Name="Trips" Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Trip)" ContainsTarget="true" />
- <NavigationProperty Name="Photo" Type="Microsoft.OData.SampleService.Models.TripPin.Photo" />
- </EntityType>
- <EntityType Name="Airline">
- <Key>
- <PropertyRef Name="AirlineCode" />
- </Key>
- <Property Name="AirlineCode" Type="Edm.String" Nullable="false">
- <Annotation Term="Org.OData.Core.V1.Permissions">
- <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
- </Annotation>
- </Property>
- <Property Name="Name" Type="Edm.String" Nullable="false" />
- <Property Name="Picture" Type="Edm.Stream" Nullable="true" />
- </EntityType>
- <EntityType Name="Airport">
- <Key>
- <PropertyRef Name="IcaoCode" />
- </Key>
- <Property Name="IcaoCode" Type="Edm.String" Nullable="false">
- <Annotation Term="Org.OData.Core.V1.Permissions">
- <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
- </Annotation>
- </Property>
- <Property Name="Name" Type="Edm.String" Nullable="false" />
- <Property Name="IataCode" Type="Edm.String" Nullable="false">
- <Annotation Term="Org.OData.Core.V1.Immutable" Bool="true" />
- </Property>
- <Property Name="Location" Type="Microsoft.OData.SampleService.Models.TripPin.AirportLocation" Nullable="false" />
- </EntityType>
- <EntityType Name="PlanItem">
- <Key>
- <PropertyRef Name="PlanItemId" />
- </Key>
- <Property Name="PlanItemId" Type="Edm.Int32" Nullable="false">
- <Annotation Term="Org.OData.Core.V1.Permissions">
- <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
- </Annotation>
- </Property>
- <Property Name="ConfirmationCode" Type="Edm.String" />
- <Property Name="StartsAt" Type="Edm.DateTimeOffset" />
- <Property Name="EndsAt" Type="Edm.DateTimeOffset" />
- <Property Name="Duration" Type="Edm.Duration" />
- </EntityType>
- <EntityType Name="PublicTransportation" BaseType="Microsoft.OData.SampleService.Models.TripPin.PlanItem">
- <Property Name="SeatNumber" Type="Edm.String" />
- </EntityType>
- <EntityType Name="Flight" BaseType="Microsoft.OData.SampleService.Models.TripPin.PublicTransportation">
- <Property Name="FlightNumber" Type="Edm.String" Nullable="false" />
- <NavigationProperty Name="From" Type="Microsoft.OData.SampleService.Models.TripPin.Airport" Nullable="false" />
- <NavigationProperty Name="To" Type="Microsoft.OData.SampleService.Models.TripPin.Airport" Nullable="false" />
- <NavigationProperty Name="Airline" Type="Microsoft.OData.SampleService.Models.TripPin.Airline" Nullable="false" />
- </EntityType>
- <EntityType Name="Event" BaseType="Microsoft.OData.SampleService.Models.TripPin.PlanItem" OpenType="true">
- <Property Name="Description" Type="Edm.String" />
- <Property Name="OccursAt" Type="Microsoft.OData.SampleService.Models.TripPin.EventLocation" Nullable="false" />
- </EntityType>
- <EntityType Name="Trip">
- <Key>
- <PropertyRef Name="TripId" />
- </Key>
- <Property Name="TripId" Type="Edm.Int32" Nullable="false">
- <Annotation Term="Org.OData.Core.V1.Permissions">
- <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
- </Annotation>
- </Property>
- <Property Name="ShareId" Type="Edm.Guid" />
- <Property Name="Description" Type="Edm.String" />
- <Property Name="Name" Type="Edm.String" Nullable="false" />
- <Property Name="Budget" Type="Edm.Single" Nullable="false">
- <Annotation Term="Org.OData.Measures.V1.ISOCurrency" String="USD" />
- <Annotation Term="Org.OData.Measures.V1.Scale" Int="2" />
- </Property>
- <Property Name="StartsAt" Type="Edm.DateTimeOffset" Nullable="false" />
- <Property Name="EndsAt" Type="Edm.DateTimeOffset" Nullable="false" />
- <Property Name="Tags" Type="Collection(Edm.String)" Nullable="false" />
- <NavigationProperty Name="Photos" Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Photo)" />
- <NavigationProperty Name="PlanItems" Type="Collection(Microsoft.OData.SampleService.Models.TripPin.PlanItem)" ContainsTarget="true" />
- </EntityType>
- <Function Name="GetFavoriteAirline" IsBound="true" EntitySetPath="person/Trips/PlanItems/Microsoft.OData.SampleService.Models.TripPin.Flight/Airline" IsComposable="true">
- <Parameter Name="person" Type="Microsoft.OData.SampleService.Models.TripPin.Person" Nullable="false" />
- <ReturnType Type="Microsoft.OData.SampleService.Models.TripPin.Airline" Nullable="false" />
- </Function>
- <Function Name="GetInvolvedPeople" IsBound="true" IsComposable="true">
- <Parameter Name="trip" Type="Microsoft.OData.SampleService.Models.TripPin.Trip" Nullable="false" />
- <ReturnType Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Person)" Nullable="false" />
- </Function>
- <Function Name="GetFriendsTrips" IsBound="true" EntitySetPath="person/Friends/Trips" IsComposable="true">
- <Parameter Name="person" Type="Microsoft.OData.SampleService.Models.TripPin.Person" Nullable="false" />
- <Parameter Name="userName" Type="Edm.String" Nullable="false" />
- <ReturnType Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Trip)" Nullable="false" />
- </Function>
- <Function Name="GetNearestAirport" IsComposable="true">
- <Parameter Name="lat" Type="Edm.Double" Nullable="false" />
- <Parameter Name="lon" Type="Edm.Double" Nullable="false" />
- <ReturnType Type="Microsoft.OData.SampleService.Models.TripPin.Airport" Nullable="false" />
- </Function>
- <Action Name="ResetDataSource" />
- <Action Name="ShareTrip" IsBound="true">
- <Parameter Name="person" Type="Microsoft.OData.SampleService.Models.TripPin.Person" Nullable="false" />
- <Parameter Name="userName" Type="Edm.String" Nullable="false" />
- <Parameter Name="tripId" Type="Edm.Int32" Nullable="false" />
- </Action>
- <EntityContainer Name="DefaultContainer">
- <EntitySet Name="Photos" EntityType="Microsoft.OData.SampleService.Models.TripPin.Photo">
- <Annotation Term="Org.OData.Core.V1.ResourcePath" String="Photos" />
- <Annotation Term="Org.OData.Capabilities.V1.SearchRestrictions">
- <Record>
- <PropertyValue Property="Searchable" Bool="true" />
- <PropertyValue Property="UnsupportedExpressions">
- <EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none</EnumMember>
- </PropertyValue>
- </Record>
- </Annotation>
- <Annotation Term="Org.OData.Capabilities.V1.InsertRestrictions">
- <Record>
- <PropertyValue Property="Insertable" Bool="true" />
- <PropertyValue Property="NonInsertableNavigationProperties">
- <Collection />
- </PropertyValue>
- </Record>
- </Annotation>
- </EntitySet>
- <EntitySet Name="People" EntityType="Microsoft.OData.SampleService.Models.TripPin.Person">
- <NavigationPropertyBinding Path="Friends" Target="People" />
- <NavigationPropertyBinding Path="Microsoft.OData.SampleService.Models.TripPin.Flight/Airline" Target="Airlines" />
- <NavigationPropertyBinding Path="Microsoft.OData.SampleService.Models.TripPin.Flight/From" Target="Airports" />
- <NavigationPropertyBinding Path="Microsoft.OData.SampleService.Models.TripPin.Flight/To" Target="Airports" />
- <NavigationPropertyBinding Path="Photo" Target="Photos" />
- <NavigationPropertyBinding Path="Microsoft.OData.SampleService.Models.TripPin.Trip/Photos" Target="Photos" />
- <Annotation Term="Org.OData.Core.V1.OptimisticConcurrency">
- <Collection>
- <PropertyPath>Concurrency</PropertyPath>
- </Collection>
- </Annotation>
- <Annotation Term="Org.OData.Core.V1.ResourcePath" String="People" />
- <Annotation Term="Org.OData.Capabilities.V1.NavigationRestrictions">
- <Record>
- <PropertyValue Property="Navigability">
- <EnumMember>Org.OData.Capabilities.V1.NavigationType/None</EnumMember>
- </PropertyValue>
- <PropertyValue Property="RestrictedProperties">
- <Collection>
- <Record>
- <PropertyValue Property="NavigationProperty" NavigationPropertyPath="Friends" />
- <PropertyValue Property="Navigability">
- <EnumMember>Org.OData.Capabilities.V1.NavigationType/Recursive</EnumMember>
- </PropertyValue>
- </Record>
- </Collection>
- </PropertyValue>
- </Record>
- </Annotation>
- <Annotation Term="Org.OData.Capabilities.V1.SearchRestrictions">
- <Record>
- <PropertyValue Property="Searchable" Bool="true" />
- <PropertyValue Property="UnsupportedExpressions">
- <EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none</EnumMember>
- </PropertyValue>
- </Record>
- </Annotation>
- <Annotation Term="Org.OData.Capabilities.V1.InsertRestrictions">
- <Record>
- <PropertyValue Property="Insertable" Bool="true" />
- <PropertyValue Property="NonInsertableNavigationProperties">
- <Collection>
- <NavigationPropertyPath>Trips</NavigationPropertyPath>
- <NavigationPropertyPath>Friends</NavigationPropertyPath>
- </Collection>
- </PropertyValue>
- </Record>
- </Annotation>
- </EntitySet>
- <EntitySet Name="Airlines" EntityType="Microsoft.OData.SampleService.Models.TripPin.Airline">
- <Annotation Term="Org.OData.Core.V1.ResourcePath" String="Airlines" />
- <Annotation Term="Org.OData.Capabilities.V1.SearchRestrictions">
- <Record>
- <PropertyValue Property="Searchable" Bool="true" />
- <PropertyValue Property="UnsupportedExpressions">
- <EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none</EnumMember>
- </PropertyValue>
- </Record>
- </Annotation>
- <Annotation Term="Org.OData.Capabilities.V1.InsertRestrictions">
- <Record>
- <PropertyValue Property="Insertable" Bool="true" />
- <PropertyValue Property="NonInsertableNavigationProperties">
- <Collection />
- </PropertyValue>
- </Record>
- </Annotation>
- </EntitySet>
- <EntitySet Name="Airports" EntityType="Microsoft.OData.SampleService.Models.TripPin.Airport">
- <Annotation Term="Org.OData.Core.V1.ResourcePath" String="Airports" />
- <Annotation Term="Org.OData.Capabilities.V1.SearchRestrictions">
- <Record>
- <PropertyValue Property="Searchable" Bool="true" />
- <PropertyValue Property="UnsupportedExpressions">
- <EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none</EnumMember>
- </PropertyValue>
- </Record>
- </Annotation>
- <Annotation Term="Org.OData.Capabilities.V1.InsertRestrictions">
- <Record>
- <PropertyValue Property="Insertable" Bool="false" />
- <PropertyValue Property="NonInsertableNavigationProperties">
- <Collection />
- </PropertyValue>
- </Record>
- </Annotation>
- <Annotation Term="Org.OData.Capabilities.V1.DeleteRestrictions">
- <Record>
- <PropertyValue Property="Deletable" Bool="false" />
- <PropertyValue Property="NonDeletableNavigationProperties">
- <Collection />
- </PropertyValue>
- </Record>
- </Annotation>
- </EntitySet>
- <Singleton Name="Me" Type="Microsoft.OData.SampleService.Models.TripPin.Person">
- <NavigationPropertyBinding Path="Friends" Target="People" />
- <NavigationPropertyBinding Path="Microsoft.OData.SampleService.Models.TripPin.Flight/Airline" Target="Airlines" />
- <NavigationPropertyBinding Path="Microsoft.OData.SampleService.Models.TripPin.Flight/From" Target="Airports" />
- <NavigationPropertyBinding Path="Microsoft.OData.SampleService.Models.TripPin.Flight/To" Target="Airports" />
- <NavigationPropertyBinding Path="Photo" Target="Photos" />
- <NavigationPropertyBinding Path="Microsoft.OData.SampleService.Models.TripPin.Trip/Photos" Target="Photos" />
- <Annotation Term="Org.OData.Core.V1.ResourcePath" String="Me" />
- </Singleton>
- <FunctionImport Name="GetNearestAirport" Function="Microsoft.OData.SampleService.Models.TripPin.GetNearestAirport" EntitySet="Airports" IncludeInServiceDocument="true">
- <Annotation Term="Org.OData.Core.V1.ResourcePath" String="Microsoft.OData.SampleService.Models.TripPin.GetNearestAirport" />
- </FunctionImport>
- <ActionImport Name="ResetDataSource" Action="Microsoft.OData.SampleService.Models.TripPin.ResetDataSource" />
- <Annotation Term="Org.OData.Core.V1.Description" String="TripPin service is a sample service for OData V4." />
- </EntityContainer>
- <Annotations Target="Microsoft.OData.SampleService.Models.TripPin.DefaultContainer">
- <Annotation Term="Org.OData.Core.V1.DereferenceableIDs" Bool="true" />
- <Annotation Term="Org.OData.Core.V1.ConventionalIDs" Bool="true" />
- <Annotation Term="Org.OData.Capabilities.V1.ConformanceLevel">
- <EnumMember>Org.OData.Capabilities.V1.ConformanceLevelType/Advanced</EnumMember>
- </Annotation>
- <Annotation Term="Org.OData.Capabilities.V1.SupportedFormats">
- <Collection>
- <String>application/json;odata.metadata=full;IEEE754Compatible=false;odata.streaming=true</String>
- <String>application/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=true</String>
- <String>application/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true</String>
- </Collection>
- </Annotation>
- <Annotation Term="Org.OData.Capabilities.V1.AsynchronousRequestsSupported" Bool="true" />
- <Annotation Term="Org.OData.Capabilities.V1.BatchContinueOnErrorSupported" Bool="false" />
- <Annotation Term="Org.OData.Capabilities.V1.FilterFunctions">
- <Collection>
- <String>contains</String>
- <String>endswith</String>
- <String>startswith</String>
- <String>length</String>
- <String>indexof</String>
- <String>substring</String>
- <String>tolower</String>
- <String>toupper</String>
- <String>trim</String>
- <String>concat</String>
- <String>year</String>
- <String>month</String>
- <String>day</String>
- <String>hour</String>
- <String>minute</String>
- <String>second</String>
- <String>round</String>
- <String>floor</String>
- <String>ceiling</String>
- <String>cast</String>
- <String>isof</String>
- </Collection>
- </Annotation>
- </Annotations>
- </Schema>
- </edmx:DataServices>
+ <edmx:DataServices>
+ <Schema Namespace="Microsoft.OData.SampleService.Models.TripPin"
+ xmlns="http://docs.oasis-open.org/odata/ns/edm">
+ <EnumType Name="PersonGender">
+ <Member Name="Male" Value="0" />
+ <Member Name="Female" Value="1" />
+ <Member Name="Unknown" Value="2" />
+ </EnumType>
+ <ComplexType Name="City">
+ <Property Name="CountryRegion" Type="Edm.String" Nullable="false" />
+ <Property Name="Name" Type="Edm.String" Nullable="false" />
+ <Property Name="Region" Type="Edm.String" Nullable="false" />
+ </ComplexType>
+ <ComplexType Name="Location" OpenType="true">
+ <Property Name="Address" Type="Edm.String" Nullable="false" />
+ <Property Name="City"
+ Type="Microsoft.OData.SampleService.Models.TripPin.City" Nullable="false" />
+ </ComplexType>
+ <ComplexType Name="EventLocation"
+ BaseType="Microsoft.OData.SampleService.Models.TripPin.Location"
+ OpenType="true">
+ <Property Name="BuildingInfo" Type="Edm.String" />
+ </ComplexType>
+ <ComplexType Name="AirportLocation"
+ BaseType="Microsoft.OData.SampleService.Models.TripPin.Location"
+ OpenType="true">
+ <Property Name="Loc" Type="Edm.GeographyPoint" Nullable="false"
+ SRID="4326" />
+ </ComplexType>
+ <EntityType Name="Photo" HasStream="true">
+ <Key>
+ <PropertyRef Name="Id" />
+ </Key>
+ <Property Name="Id" Type="Edm.Int64" Nullable="false">
+ <Annotation Term="Org.OData.Core.V1.Permissions">
+ <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+ </Annotation>
+ </Property>
+ <Property Name="Name" Type="Edm.String" />
+ <Annotation Term="Org.OData.Core.V1.AcceptableMediaTypes">
+ <Collection>
+ <String>image/jpeg</String>
+ </Collection>
+ </Annotation>
+ </EntityType>
+ <EntityType Name="Person" OpenType="true">
+ <Key>
+ <PropertyRef Name="UserName" />
+ </Key>
+ <Property Name="UserName" Type="Edm.String" Nullable="false">
+ <Annotation Term="Org.OData.Core.V1.Permissions">
+ <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+ </Annotation>
+ </Property>
+ <Property Name="FirstName" Type="Edm.String" Nullable="true" />
+ <Property Name="LastName" Type="Edm.String" Nullable="false" />
+ <Property Name="Emails" Type="Collection(Edm.String)" />
+ <Property Name="AddressInfo"
+ Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Location)" />
+ <Property Name="Gender"
+ Type="Microsoft.OData.SampleService.Models.TripPin.PersonGender" />
+ <Property Name="Concurrency" Type="Edm.Int64" Nullable="false">
+ <Annotation Term="Org.OData.Core.V1.Computed" Bool="true" />
+ </Property>
+ <NavigationProperty Name="Friends"
+ Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Person)" />
+ <NavigationProperty Name="Trips"
+ Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Trip)"
+ ContainsTarget="true" />
+ <NavigationProperty Name="Photo"
+ Type="Microsoft.OData.SampleService.Models.TripPin.Photo" />
+ </EntityType>
+ <EntityType Name="Airline">
+ <Key>
+ <PropertyRef Name="AirlineCode" />
+ </Key>
+ <Property Name="AirlineCode" Type="Edm.String" Nullable="false">
+ <Annotation Term="Org.OData.Core.V1.Permissions">
+ <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+ </Annotation>
+ </Property>
+ <Property Name="Name" Type="Edm.String" Nullable="false" />
+ <Property Name="Picture" Type="Edm.Stream" Nullable="true" />
+ </EntityType>
+ <EntityType Name="Airport">
+ <Key>
+ <PropertyRef Name="IcaoCode" />
+ </Key>
+ <Property Name="IcaoCode" Type="Edm.String" Nullable="false">
+ <Annotation Term="Org.OData.Core.V1.Permissions">
+ <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+ </Annotation>
+ </Property>
+ <Property Name="Name" Type="Edm.String" Nullable="false" />
+ <Property Name="IataCode" Type="Edm.String" Nullable="false">
+ <Annotation Term="Org.OData.Core.V1.Immutable" Bool="true" />
+ </Property>
+ <Property Name="Location"
+ Type="Microsoft.OData.SampleService.Models.TripPin.AirportLocation"
+ Nullable="false" />
+ </EntityType>
+ <EntityType Name="PlanItem">
+ <Key>
+ <PropertyRef Name="PlanItemId" />
+ </Key>
+ <Property Name="PlanItemId" Type="Edm.Int32" Nullable="false">
+ <Annotation Term="Org.OData.Core.V1.Permissions">
+ <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+ </Annotation>
+ </Property>
+ <Property Name="ConfirmationCode" Type="Edm.String" />
+ <Property Name="StartsAt" Type="Edm.DateTimeOffset" />
+ <Property Name="EndsAt" Type="Edm.DateTimeOffset" />
+ <Property Name="Duration" Type="Edm.Duration" />
+ </EntityType>
+ <EntityType Name="PublicTransportation"
+ BaseType="Microsoft.OData.SampleService.Models.TripPin.PlanItem">
+ <Property Name="SeatNumber" Type="Edm.String" />
+ </EntityType>
+ <EntityType Name="Flight"
+ BaseType="Microsoft.OData.SampleService.Models.TripPin.PublicTransportation">
+ <Property Name="FlightNumber" Type="Edm.String" Nullable="false" />
+ <NavigationProperty Name="From"
+ Type="Microsoft.OData.SampleService.Models.TripPin.Airport"
+ Nullable="false" />
+ <NavigationProperty Name="To"
+ Type="Microsoft.OData.SampleService.Models.TripPin.Airport"
+ Nullable="false" />
+ <NavigationProperty Name="Airline"
+ Type="Microsoft.OData.SampleService.Models.TripPin.Airline"
+ Nullable="false" />
+ </EntityType>
+ <EntityType Name="Event"
+ BaseType="Microsoft.OData.SampleService.Models.TripPin.PlanItem"
+ OpenType="true">
+ <Property Name="Description" Type="Edm.String" />
+ <Property Name="OccursAt"
+ Type="Microsoft.OData.SampleService.Models.TripPin.EventLocation"
+ Nullable="false" />
+ </EntityType>
+ <EntityType Name="Trip">
+ <Key>
+ <PropertyRef Name="TripId" />
+ </Key>
+ <Property Name="TripId" Type="Edm.Int32" Nullable="false">
+ <Annotation Term="Org.OData.Core.V1.Permissions">
+ <EnumMember>Org.OData.Core.V1.Permission/Read</EnumMember>
+ </Annotation>
+ </Property>
+ <Property Name="ShareId" Type="Edm.Guid" />
+ <Property Name="Description" Type="Edm.String" />
+ <Property Name="Name" Type="Edm.String" Nullable="false" />
+ <Property Name="Budget" Type="Edm.Single" Nullable="false">
+ <Annotation Term="Org.OData.Measures.V1.ISOCurrency"
+ String="USD" />
+ <Annotation Term="Org.OData.Measures.V1.Scale" Int="2" />
+ </Property>
+ <Property Name="StartsAt" Type="Edm.DateTimeOffset"
+ Nullable="false" />
+ <Property Name="EndsAt" Type="Edm.DateTimeOffset" Nullable="false" />
+ <Property Name="Tags" Type="Collection(Edm.String)"
+ Nullable="false" />
+ <NavigationProperty Name="Photos"
+ Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Photo)" />
+ <NavigationProperty Name="PlanItems"
+ Type="Collection(Microsoft.OData.SampleService.Models.TripPin.PlanItem)"
+ ContainsTarget="true" />
+ </EntityType>
+ <Function Name="GetFavoriteAirline" IsBound="true"
+ EntitySetPath="person/Trips/PlanItems/Microsoft.OData.SampleService.Models.TripPin.Flight/Airline"
+ IsComposable="true">
+ <Parameter Name="person"
+ Type="Microsoft.OData.SampleService.Models.TripPin.Person"
+ Nullable="false" />
+ <ReturnType Type="Microsoft.OData.SampleService.Models.TripPin.Airline"
+ Nullable="false" />
+ </Function>
+ <Function Name="GetInvolvedPeople" IsBound="true"
+ IsComposable="true">
+ <Parameter Name="trip"
+ Type="Microsoft.OData.SampleService.Models.TripPin.Trip" Nullable="false" />
+ <ReturnType
+ Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Person)"
+ Nullable="false" />
+ </Function>
+ <Function Name="GetFriendsTrips" IsBound="true"
+ EntitySetPath="person/Friends/Trips" IsComposable="true">
+ <Parameter Name="person"
+ Type="Microsoft.OData.SampleService.Models.TripPin.Person"
+ Nullable="false" />
+ <Parameter Name="userName" Type="Edm.String" Nullable="false" />
+ <ReturnType
+ Type="Collection(Microsoft.OData.SampleService.Models.TripPin.Trip)"
+ Nullable="false" />
+ </Function>
+ <Function Name="GetNearestAirport" IsComposable="true">
+ <Parameter Name="lat" Type="Edm.Double" Nullable="false" />
+ <Parameter Name="lon" Type="Edm.Double" Nullable="false" />
+ <ReturnType Type="Microsoft.OData.SampleService.Models.TripPin.Airport"
+ Nullable="false" />
+ </Function>
+ <Action Name="ResetDataSource" />
+ <Action Name="ShareTrip" IsBound="true">
+ <Parameter Name="person"
+ Type="Microsoft.OData.SampleService.Models.TripPin.Person"
+ Nullable="false" />
+ <Parameter Name="userName" Type="Edm.String" Nullable="false" />
+ <Parameter Name="tripId" Type="Edm.Int32" Nullable="false" />
+ </Action>
+ <EntityContainer Name="DefaultContainer">
+ <EntitySet Name="Photos"
+ EntityType="Microsoft.OData.SampleService.Models.TripPin.Photo">
+ <Annotation Term="Org.OData.Core.V1.ResourcePath"
+ String="Photos" />
+ <Annotation Term="Org.OData.Capabilities.V1.SearchRestrictions">
+ <Record>
+ <PropertyValue Property="Searchable" Bool="true" />
+ <PropertyValue Property="UnsupportedExpressions">
+ <EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none
+ </EnumMember>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Org.OData.Capabilities.V1.InsertRestrictions">
+ <Record>
+ <PropertyValue Property="Insertable" Bool="true" />
+ <PropertyValue Property="NonInsertableNavigationProperties">
+ <Collection />
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ </EntitySet>
+ <EntitySet Name="People"
+ EntityType="Microsoft.OData.SampleService.Models.TripPin.Person">
+ <NavigationPropertyBinding Path="Friends"
+ Target="People" />
+ <NavigationPropertyBinding
+ Path="Microsoft.OData.SampleService.Models.TripPin.Flight/Airline"
+ Target="Airlines" />
+ <NavigationPropertyBinding
+ Path="Microsoft.OData.SampleService.Models.TripPin.Flight/From"
+ Target="Airports" />
+ <NavigationPropertyBinding
+ Path="Microsoft.OData.SampleService.Models.TripPin.Flight/To"
+ Target="Airports" />
+ <NavigationPropertyBinding Path="Photo"
+ Target="Photos" />
+ <NavigationPropertyBinding
+ Path="Microsoft.OData.SampleService.Models.TripPin.Trip/Photos"
+ Target="Photos" />
+ <Annotation Term="Org.OData.Core.V1.OptimisticConcurrency">
+ <Collection>
+ <PropertyPath>Concurrency</PropertyPath>
+ </Collection>
+ </Annotation>
+ <Annotation Term="Org.OData.Core.V1.ResourcePath"
+ String="People" />
+ <Annotation Term="Org.OData.Capabilities.V1.NavigationRestrictions">
+ <Record>
+ <PropertyValue Property="Navigability">
+ <EnumMember>Org.OData.Capabilities.V1.NavigationType/None
+ </EnumMember>
+ </PropertyValue>
+ <PropertyValue Property="RestrictedProperties">
+ <Collection>
+ <Record>
+ <PropertyValue Property="NavigationProperty"
+ NavigationPropertyPath="Friends" />
+ <PropertyValue Property="Navigability">
+ <EnumMember>Org.OData.Capabilities.V1.NavigationType/Recursive
+ </EnumMember>
+ </PropertyValue>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Org.OData.Capabilities.V1.SearchRestrictions">
+ <Record>
+ <PropertyValue Property="Searchable" Bool="true" />
+ <PropertyValue Property="UnsupportedExpressions">
+ <EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none
+ </EnumMember>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Org.OData.Capabilities.V1.InsertRestrictions">
+ <Record>
+ <PropertyValue Property="Insertable" Bool="true" />
+ <PropertyValue Property="NonInsertableNavigationProperties">
+ <Collection>
+ <NavigationPropertyPath>Trips</NavigationPropertyPath>
+ <NavigationPropertyPath>Friends</NavigationPropertyPath>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ </EntitySet>
+ <EntitySet Name="Airlines"
+ EntityType="Microsoft.OData.SampleService.Models.TripPin.Airline">
+ <Annotation Term="Org.OData.Core.V1.ResourcePath"
+ String="Airlines" />
+ <Annotation Term="Org.OData.Capabilities.V1.SearchRestrictions">
+ <Record>
+ <PropertyValue Property="Searchable" Bool="true" />
+ <PropertyValue Property="UnsupportedExpressions">
+ <EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none
+ </EnumMember>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Org.OData.Capabilities.V1.InsertRestrictions">
+ <Record>
+ <PropertyValue Property="Insertable" Bool="true" />
+ <PropertyValue Property="NonInsertableNavigationProperties">
+ <Collection />
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ </EntitySet>
+ <EntitySet Name="Airports"
+ EntityType="Microsoft.OData.SampleService.Models.TripPin.Airport">
+ <Annotation Term="Org.OData.Core.V1.ResourcePath"
+ String="Airports" />
+ <Annotation Term="Org.OData.Capabilities.V1.SearchRestrictions">
+ <Record>
+ <PropertyValue Property="Searchable" Bool="true" />
+ <PropertyValue Property="UnsupportedExpressions">
+ <EnumMember>Org.OData.Capabilities.V1.SearchExpressions/none
+ </EnumMember>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Org.OData.Capabilities.V1.InsertRestrictions">
+ <Record>
+ <PropertyValue Property="Insertable" Bool="false" />
+ <PropertyValue Property="NonInsertableNavigationProperties">
+ <Collection />
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Org.OData.Capabilities.V1.DeleteRestrictions">
+ <Record>
+ <PropertyValue Property="Deletable" Bool="false" />
+ <PropertyValue Property="NonDeletableNavigationProperties">
+ <Collection />
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ </EntitySet>
+ <Singleton Name="Me"
+ Type="Microsoft.OData.SampleService.Models.TripPin.Person">
+ <NavigationPropertyBinding Path="Friends"
+ Target="People" />
+ <NavigationPropertyBinding
+ Path="Microsoft.OData.SampleService.Models.TripPin.Flight/Airline"
+ Target="Airlines" />
+ <NavigationPropertyBinding
+ Path="Microsoft.OData.SampleService.Models.TripPin.Flight/From"
+ Target="Airports" />
+ <NavigationPropertyBinding
+ Path="Microsoft.OData.SampleService.Models.TripPin.Flight/To"
+ Target="Airports" />
+ <NavigationPropertyBinding Path="Photo"
+ Target="Photos" />
+ <NavigationPropertyBinding
+ Path="Microsoft.OData.SampleService.Models.TripPin.Trip/Photos"
+ Target="Photos" />
+ <Annotation Term="Org.OData.Core.V1.ResourcePath"
+ String="Me" />
+ </Singleton>
+ <FunctionImport Name="GetNearestAirport"
+ Function="Microsoft.OData.SampleService.Models.TripPin.GetNearestAirport"
+ EntitySet="Airports" IncludeInServiceDocument="true">
+ <Annotation Term="Org.OData.Core.V1.ResourcePath"
+ String="Microsoft.OData.SampleService.Models.TripPin.GetNearestAirport" />
+ </FunctionImport>
+ <ActionImport Name="ResetDataSource"
+ Action="Microsoft.OData.SampleService.Models.TripPin.ResetDataSource" />
+ <Annotation Term="Org.OData.Core.V1.Description"
+ String="TripPin service is a sample service for OData V4." />
+ </EntityContainer>
+ <Annotations
+ Target="Microsoft.OData.SampleService.Models.TripPin.DefaultContainer">
+ <Annotation Term="Org.OData.Core.V1.DereferenceableIDs"
+ Bool="true" />
+ <Annotation Term="Org.OData.Core.V1.ConventionalIDs"
+ Bool="true" />
+ <Annotation Term="Org.OData.Capabilities.V1.ConformanceLevel">
+ <EnumMember>Org.OData.Capabilities.V1.ConformanceLevelType/Advanced
+ </EnumMember>
+ </Annotation>
+ <Annotation Term="Org.OData.Capabilities.V1.SupportedFormats">
+ <Collection>
+ <String>application/json;odata.metadata=full;IEEE754Compatible=false;odata.streaming=true
+ </String>
+ <String>application/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=true
+ </String>
+ <String>application/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true
+ </String>
+ </Collection>
+ </Annotation>
+ <Annotation
+ Term="Org.OData.Capabilities.V1.AsynchronousRequestsSupported"
+ Bool="true" />
+ <Annotation
+ Term="Org.OData.Capabilities.V1.BatchContinueOnErrorSupported"
+ Bool="false" />
+ <Annotation Term="Org.OData.Capabilities.V1.FilterFunctions">
+ <Collection>
+ <String>contains</String>
+ <String>endswith</String>
+ <String>startswith</String>
+ <String>length</String>
+ <String>indexof</String>
+ <String>substring</String>
+ <String>tolower</String>
+ <String>toupper</String>
+ <String>trim</String>
+ <String>concat</String>
+ <String>year</String>
+ <String>month</String>
+ <String>day</String>
+ <String>hour</String>
+ <String>minute</String>
+ <String>second</String>
+ <String>round</String>
+ <String>floor</String>
+ <String>ceiling</String>
+ <String>cast</String>
+ <String>isof</String>
+ </Collection>
+ </Annotation>
+ </Annotations>
+ <Term Name="IsURI" Type="Core.Tag" DefaultValue="true"
+ AppliesTo="Property">
+ <Annotation Term="Core.Description">
+ <String>
+ Properties and terms annotated with this term MUST contain a valid URI
+ </String>
+ </Annotation>
+ <Annotation Term="Core.RequiresType" String="Edm.String" />
+ </Term>
+ </Schema>
+ </edmx:DataServices>
</edmx:Edmx>
\ No newline at end of file