You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ar...@apache.org on 2018/08/20 06:01:26 UTC
[2/3] olingo-odata4 git commit: [OLINGO-1062]Cannot consume Odata
Reference Services with Annotations
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/client-core/src/test/resources/org/apache/olingo/client/core/annotations.xml
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/resources/org/apache/olingo/client/core/annotations.xml b/lib/client-core/src/test/resources/org/apache/olingo/client/core/annotations.xml
new file mode 100644
index 0000000..a89467d
--- /dev/null
+++ b/lib/client-core/src/test/resources/org/apache/olingo/client/core/annotations.xml
@@ -0,0 +1,1276 @@
+<?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="../v4.0/cs02/vocabularies/Org.OData.Common.V1.xml">
+ <edmx:Include Namespace="Org.OData.Common.V1" Alias="Common"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="../v4.0/cs02/vocabularies/Org.OData.UI.V1.xml">
+ <edmx:Include Namespace="Org.OData.UI.V1" Alias="UI"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="../v4.0/cs02/vocabularies/Org.OData.Communication.V1.xml">
+ <edmx:Include Namespace="Org.OData.Communication.V1" Alias="Communication"/>
+ </edmx:Reference>
+ <edmx:DataServices>
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="sepmra_so_man2_anno_mdl.v1">
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/I_DraftAdministrativeData/ComplexProperty/PropertyInt16">
+ <Annotation Term="UI.AdditionalInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/I_DraftAdministrativeData/ComplexProperty/NavPropertyDraftAdministrativeDataType">
+ <Annotation Term="UI.AdditionalInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/SINav/ComplexProperty/NavPropertyDraftAdministrativeDataType">
+ <Annotation Term="UI.AdditionalInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/SEPMRA_C_SalesOrderCustCntctVH/to_Customer">
+ <Annotation Term="UI.AdditionalInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/SEPMRA_C_SalesOrderCustCntctVH/to_Customer">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/I_DraftAdministrativeData/DraftUUID">
+ <Annotation Term="UI.AdditionalInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/I_DraftAdministrativeData/DraftUUID">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/DraftUUID">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.BA_RTCountryVHType">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.BA_RTCountryVHType/ParameterCTPrim">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2._FC_RTTimeOfDay_">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2._FC_RTTimeOfDay_/ParameterTimeOfDay">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/AIRTString">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/SINav">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.TDString">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.CTPrim">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.CTPrim/PropertyInt16">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.CTPrim/NavPropertyDraftAdministrativeDataType">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/I_DraftAdministrativeData">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities">
+ <Annotation Term="UI.HeaderInfo"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/DraftEntityType">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/DraftAccessType">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/ProcessingStartDateTime">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/DraftIsKeptByUser">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/EnqueueStartDateTime">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/DraftIsCreatedByMe">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/DraftIsLastChangedByMe">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/DraftIsProcessedByMe">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/CreatedByUserDescription">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/LastChangedByUserDescription">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.I_DraftAdministrativeDataType/InProcessByUserDescription">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_CountryVHType">
+ <Annotation Term="UI.HeaderInfo">
+ <Record>
+ <PropertyValue Property="TypeName" String="Country"/>
+ <PropertyValue Property="TypeNamePlural" String="Countries"/>
+ <PropertyValue Property="Title">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Country"/>
+ </Record>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustCntctVHType/"/>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustCntctVHType/EmailAddress">
+ <Annotation Term="Common.IsEmailAddress"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustCntctVHType/Customer">
+ <Annotation Term="UI.HiddenFilter"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustCntctVHType/to_Customer">
+ <Annotation Term="UI.ThingPerspective"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustCntctVHType">
+ <Annotation Term="UI.FieldGroup" Qualifier="ContactPerson">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="ContactPerson"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="FirstName"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="LastName"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="EmailAddress"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <PropertyValue Property="Label" String="Contact Person"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.HeaderInfo">
+ <Record>
+ <PropertyValue Property="TypeName" String="Contact Person"/>
+ <PropertyValue Property="TypeNamePlural" String="Contact Persons"/>
+ <PropertyValue Property="Title">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="ContactPerson"/>
+ </Record>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.Identification">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="ContactPerson"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.LineItem">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="ContactPerson"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ <Annotation Term="UI.Criticality" Path="abc"/>
+ </Annotation>
+ <Annotation Term="Communication.Contact">
+ <Record>
+ <PropertyValue Property="n">
+ <Record>
+ <PropertyValue Property="given" Path="FirstName"/>
+ <PropertyValue Property="surname" Path="LastName"/>
+ </Record>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustContactType/"/>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustContactType/EmailAddress">
+ <Annotation Term="Common.IsEmailAddress"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustContactType">
+ <Annotation Term="UI.FieldGroup" Qualifier="ContactDetails">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataFieldForAnnotation">
+ <PropertyValue Property="Target" AnnotationPath="@Communication.Contact"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="PhoneNumber"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="EmailAddress"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <PropertyValue Property="Label" String="Contact"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.HeaderInfo">
+ <Record>
+ <PropertyValue Property="TypeName" String="Contact"/>
+ <PropertyValue Property="TypeNamePlural" String="Contacts"/>
+ <PropertyValue Property="Title">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="FullName"/>
+ </Record>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.Identification">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="ContactPerson"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="Communication.Contact">
+ <Record>
+ <PropertyValue Property="fn" Path="FullName"/>
+ <PropertyValue Property="n">
+ <Record>
+ <PropertyValue Property="given" Path="FirstName"/>
+ <PropertyValue Property="surname" Path="LastName"/>
+ </Record>
+ </PropertyValue>
+ <PropertyValue Property="adr">
+ <Collection>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="label" Path="Address"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <PropertyValue Property="tel">
+ <Collection>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.PhoneType/fax"/>
+ <PropertyValue Property="uri" Path="FaxNumber"/>
+ </Record>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.PhoneType/cell"/>
+ <PropertyValue Property="uri" Path="MobilePhoneNumber"/>
+ </Record>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.PhoneType/preferred Communication.PhoneType/work"/>
+ <PropertyValue Property="uri" Path="PhoneNumber"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Communication.Address">
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="label" Path="Address"/>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustomerType/"/>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustomerType/EmailAddress">
+ <Annotation Term="Common.IsEmailAddress"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustomerType/Customer">
+ <Annotation Term="Common.Text" Path="CompanyName">
+ <Annotation Term="UI.TextArrangement" EnumMember="UI.TextArrangementType/TextOnly"/>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustomerType">
+ <Annotation Term="Communication.Contact">
+ <Record>
+ <PropertyValue Property="fn" Path="CompanyName"/>
+ <PropertyValue Property="adr">
+ <Collection>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="label" Path="Address"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <PropertyValue Property="tel">
+ <Collection>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.PhoneType/fax"/>
+ <PropertyValue Property="uri" Path="FaxNumber"/>
+ </Record>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.PhoneType/preferred Communication.PhoneType/work"/>
+ <PropertyValue Property="uri" Path="PhoneNumber"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Communication.Address">
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="label" Path="Address"/>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustomerVHType/Country">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustomerVHType/CountryT">
+ <Annotation Term="UI.HiddenFilter"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderCustomerVHType">
+ <Annotation Term="Communication.Contact">
+ <Record>
+ <PropertyValue Property="adr">
+ <Collection>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="locality" Path="CityName"/>
+ <PropertyValue Property="country" Path="Country"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Communication.Address">
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="locality" Path="CityName"/>
+ <PropertyValue Property="country" Path="Country"/>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/DraftUUID">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/HasActiveEntity">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/HasDraftEntity">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/IsActiveEntity">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/DraftEntityCreationDateTime">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/DraftEntityLastChangeDateTime">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/ParentDraftUUID">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/Preparation_ac">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/Validation_ac">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType/Product">
+ <Annotation Term="Common.SemanticObject" String="EPMProduct"/>
+ <Annotation Term="Common.SemanticObjectMapping">
+ <Collection>
+ <Record>
+ <PropertyValue Property="LocalProperty" PropertyPath="Product"/>
+ <PropertyValue Property="SemanticObjectProperty" String="Product"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderItemTPType">
+ <Annotation Term="UI.DataPoint" Qualifier="NetAmountInTransactionCurrency">
+ <Record>
+ <PropertyValue Property="Value" Path="NetAmountInTransactionCurrency"/>
+ <PropertyValue Property="Title" String="Net Amount"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.HeaderFacets">
+ <Collection>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Target" AnnotationPath="@UI.DataPoint#NetAmountInTransactionCurrency"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.Facets">
+ <Collection>
+ <Record Type="UI.CollectionFacet">
+ <PropertyValue Property="Label" String="Sales Order Item"/>
+ <PropertyValue Property="ID" String="SalesOrderItemStableID"/>
+ <PropertyValue Property="Facets">
+ <Collection>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="General Information"/>
+ <PropertyValue Property="Target" AnnotationPath="@UI.Identification"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.HeaderInfo">
+ <Record>
+ <PropertyValue Property="TypeName" String="Sales Order Item"/>
+ <PropertyValue Property="TypeNamePlural" String="Sales Order Items"/>
+ <PropertyValue Property="ImageUrl" Path="to_Product/ProductPictureURL"/>
+ <PropertyValue Property="Title">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Product"/>
+ </Record>
+ </PropertyValue>
+ <PropertyValue Property="Description">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SalesOrderItem"/>
+ </Record>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.Identification">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SalesOrderItem"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Product"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_ScheduleLine/Quantity"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_ScheduleLine/DeliveryDate"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.LineItem">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_Product/ProductPictureURL"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Product"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_ScheduleLine/DeliveryDate"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_ScheduleLine/Quantity"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_Product/Price"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="NetAmountInTransactionCurrency"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ <Annotation Term="UI.Criticality" Path="abc"/>
+ </Annotation>
+ <Annotation Term="UI.LineItem" Qualifier="QuickCreate">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Product"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_ScheduleLine/Quantity"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.LineItem" Qualifier="QuickView">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Product"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_ScheduleLine/Quantity"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderPartyType/HouseNumber">
+ <Annotation Term="UI.HiddenFilter"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderPartyType">
+ <Annotation Term="UI.HeaderInfo">
+ <Record>
+ <PropertyValue Property="TypeName" String="Party"/>
+ <PropertyValue Property="TypeNamePlural" String="Parties"/>
+ <PropertyValue Property="Title">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="PartyName"/>
+ </Record>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.Identification">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Party"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Address"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/Medium"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="Communication.Contact">
+ <Record>
+ <PropertyValue Property="fn" Path="PartyName"/>
+ <PropertyValue Property="adr">
+ <Collection>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="locality" Path="CityName"/>
+ <PropertyValue Property="street" Path="StreetName"/>
+ <PropertyValue Property="country" Path="Country"/>
+ <PropertyValue Property="code" Path="PostalCode"/>
+ <PropertyValue Property="label" Path="Address"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Communication.Address">
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="locality" Path="CityName"/>
+ <PropertyValue Property="street" Path="StreetName"/>
+ <PropertyValue Property="country" Path="Country"/>
+ <PropertyValue Property="code" Path="PostalCode"/>
+ <PropertyValue Property="label" Path="Address"/>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderPartyVHType/Customer">
+ <Annotation Term="UI.HiddenFilter"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderPartyVHType/Country">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderPartyVHType/CountryT">
+ <Annotation Term="UI.HiddenFilter"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderPartyVHType">
+ <Annotation Term="UI.HeaderInfo">
+ <Record>
+ <PropertyValue Property="TypeName" String="Party"/>
+ <PropertyValue Property="TypeNamePlural" String="Parties"/>
+ <PropertyValue Property="Title">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Party"/>
+ </Record>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.Identification">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Party"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.LineItem">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Party"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ <Annotation Term="UI.Criticality" Path="abc"/>
+ </Annotation>
+ <Annotation Term="Communication.Contact">
+ <Record>
+ <PropertyValue Property="fn" Path="PartyName"/>
+ <PropertyValue Property="adr">
+ <Collection>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="locality" Path="CityName"/>
+ <PropertyValue Property="country" Path="Country"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="Communication.Address">
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.ContactInformationType/preferred"/>
+ <PropertyValue Property="locality" Path="CityName"/>
+ <PropertyValue Property="country" Path="Country"/>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderProductType/ProductPictureURL">
+ <Annotation Term="UI.IsImageURL"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderProductType/Product">
+ <Annotation Term="Common.SemanticObject" String="EPMProduct"/>
+ <Annotation Term="Common.Text" Path="Product_Text">
+ <Annotation Term="UI.TextArrangement" EnumMember="UI.TextArrangementType/TextOnly"/>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderProductType">
+ <Annotation Term="Common.SemanticObject" String="EPMProduct"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderProductVHType/Product">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="Common.SemanticObject" String="EPMProduct"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderProductVHType/Name">
+ <Annotation Term="UI.HiddenFilter"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderProductVHType/MainProductCategory">
+ <Annotation Term="UI.HiddenFilter"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderProductVHType/Supplier">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="Common.SemanticObject" String="EPMSupplier"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderProductVHType/SupplierName">
+ <Annotation Term="UI.HiddenFilter"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderProductVHType">
+ <Annotation Term="UI.FieldGroup" Qualifier="Product">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Product"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Name"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="MainProductCategory"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <PropertyValue Property="Label" String="Product"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="Supplier">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Supplier"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SupplierName"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <PropertyValue Property="Label" String="Supplier"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="Communication.Contact">
+ <Record>
+ <PropertyValue Property="fn" Path="SupplierName"/>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderReviserType/"/>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderReviserType/EmailAddress">
+ <Annotation Term="Common.IsEmailAddress"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderReviserType">
+ <Annotation Term="Communication.Contact">
+ <Record>
+ <PropertyValue Property="fn" Path="FullName"/>
+ <PropertyValue Property="tel">
+ <Collection>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.PhoneType/cell"/>
+ <PropertyValue Property="uri" Path="MobilePhoneNumber"/>
+ </Record>
+ <Record>
+ <PropertyValue Property="type" EnumMember="Communication.PhoneType/preferred Communication.PhoneType/work"/>
+ <PropertyValue Property="uri" Path="PhoneNumber"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderStatusType/SalesOrderOverallStatus">
+ <Annotation Term="Common.Text" Path="SalesOrderOverallStatus_Text">
+ <Annotation Term="UI.TextArrangement" EnumMember="UI.TextArrangementType/TextOnly"/>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderStatusType">
+ <Annotation Term="UI.DataPoint" Qualifier="SalesOrderOverallStatus">
+ <Record>
+ <PropertyValue Property="Value" Path="SalesOrderOverallStatus"/>
+ <PropertyValue Property="Title" String="Status"/>
+ <PropertyValue Property="Criticality" Path="StatusCriticality"/>
+ </Record>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/DraftUUID">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/HasActiveEntity">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/HasDraftEntity">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/IsActiveEntity">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/DraftEntityCreationDateTime">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/DraftEntityLastChangeDateTime">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/Activation_ac">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/Copy_ac">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/Edit_ac">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/Preparation_ac">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/Validation_ac">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/BillToParty_fc">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/CustomerContact_fc">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/ShipToParty_fc">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/SoldToParty_fc">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/Delete_mc">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/Update_mc">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/SalesOrder">
+ <Annotation Term="Common.SemanticObject" String="EPMSalesOrder"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/CustomerContact">
+ <Annotation Term="Common.Text" Path="to_CustomerContact/FullName">
+ <Annotation Term="UI.TextArrangement" EnumMember="UI.TextArrangementType/TextOnly"/>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType/SalesOrderOverallStatus">
+ <Annotation Term="Common.Text" Path="to_OverallStatus/SalesOrderOverallStatus_Text">
+ <Annotation Term="UI.TextArrangement" EnumMember="UI.TextArrangementType/TextOnly"/>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_SalesOrderTPType">
+ <Annotation Term="UI.DataPoint" Qualifier="NetAmountInTransactionCurrency">
+ <Record>
+ <PropertyValue Property="Value" Path="NetAmountInTransactionCurrency"/>
+ <PropertyValue Property="Title" String="Order Volume"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.QuickCreateFacets">
+ <Collection>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Create Sales Order"/>
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#QuickCreate"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Create Sales Order Item"/>
+ <PropertyValue Property="Target" AnnotationPath="to_SalesOrderItem/@UI.LineItem#QuickCreate"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.QuickViewFacets">
+ <Collection>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Sales Order"/>
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#QuickView"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Sales Order Item"/>
+ <PropertyValue Property="Target" AnnotationPath="to_SalesOrderItem/@UI.LineItem#QuickView"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.HeaderFacets">
+ <Collection>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#HeaderInfoCustomer"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Target" AnnotationPath="@UI.DataPoint#NetAmountInTransactionCurrency"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Target" AnnotationPath="to_OverallStatus/@UI.DataPoint#SalesOrderOverallStatus"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#AdminDataCreated"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.Facets">
+ <Collection>
+ <Record Type="UI.CollectionFacet">
+ <PropertyValue Property="Label" String="Customer Details"/>
+ <PropertyValue Property="ID" String="SalesOrderStableID"/>
+ <PropertyValue Property="Facets">
+ <Collection>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Customer Details"/>
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#Customer"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Contact Details"/>
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#CustomerContact"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.CollectionFacet">
+ <PropertyValue Property="Label" String="General Information"/>
+ <PropertyValue Property="ID" String="GeneralInformationFacetID"/>
+ <PropertyValue Property="Facets">
+ <Collection>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Payment Details"/>
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#Payment"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Billing Details"/>
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#BillTo"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Shipping Details"/>
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#ShipTo"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Modified"/>
+ <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#AdminDataLastChanged"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.ReferenceFacet">
+ <PropertyValue Property="Label" String="Products"/>
+ <PropertyValue Property="ID" String="LineItemFacet"/>
+ <PropertyValue Property="Target" AnnotationPath="to_SalesOrderItem/@UI.LineItem"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="AdminDataCreated">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="CreationDateTime"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/Medium"/>
+ </Record>
+ <Record Type="UI.DataFieldForAnnotation">
+ <PropertyValue Property="Label" String="Created By"/>
+ <PropertyValue Property="Target" AnnotationPath="to_CreatedByUser/@Communication.Contact"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/Medium"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="AdminDataLastChanged">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="LastChangedDateTime"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="LastChangedByUser"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="BillTo">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="BillToParty"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_BillToParty/Address"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="Customer">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SoldToParty"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_Customer/Address"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/Low"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="CustomerContact">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="CustomerContact"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_CustomerContact/PhoneNumber"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/Low"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_CustomerContact/EmailAddress"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/Low"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="HeaderInfoCustomer">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataFieldForAnnotation">
+ <PropertyValue Property="Label" String="Customer"/>
+ <PropertyValue Property="Target" AnnotationPath="to_Customer/@Communication.Contact"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/Medium"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="Payment">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SalesOrderPaymentMethod"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SalesOrderPaymentTerms"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="QuickCreate">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SoldToParty"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Label" String="Customer Name"/>
+ <PropertyValue Property="Value" Path="to_Customer/Customer"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <PropertyValue Property="Label" String="Create Sales Order"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="QuickView">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SoldToParty"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="CustomerContact"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="BillToParty"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <PropertyValue Property="Label" String="Sales Order"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.FieldGroup" Qualifier="ShipTo">
+ <Record>
+ <PropertyValue Property="Data">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="ShipToParty"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_ShipToParty/Address"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.HeaderInfo">
+ <Record>
+ <PropertyValue Property="TypeName" String="Sales Order"/>
+ <PropertyValue Property="TypeNamePlural" String="Sales Orders"/>
+ <PropertyValue Property="Title">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SalesOrder"/>
+ </Record>
+ </PropertyValue>
+ <PropertyValue Property="Description">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="to_Customer/CompanyName"/>
+ </Record>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.Identification">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Label" String="Sales Order"/>
+ <PropertyValue Property="Value" Path="SalesOrder"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataFieldForAction">
+ <PropertyValue Property="Label" String="Copy"/>
+ <PropertyValue Property="Action" String="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/SEPMRA_C_SalesOrderTPCopy"/>
+ <PropertyValue Property="InvocationGrouping" EnumMember="UI.OperationGroupingType/Isolated"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/Medium"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.LineItem">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SalesOrder"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SalesOrderOverallStatus"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataFieldForAction">
+ <PropertyValue Property="Label" String="Copy"/>
+ <PropertyValue Property="Action" String="SEPMRA_SO_MAN2.SEPMRA_SO_MAN2_Entities/SEPMRA_C_SalesOrderTPCopy"/>
+ <PropertyValue Property="InvocationGrouping" EnumMember="UI.OperationGroupingType/Isolated"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/Medium"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="LastChangedDateTime"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="SoldToParty"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="CustomerContact"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="Quantity"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="NetAmountInTransactionCurrency"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ <Annotation Term="UI.Criticality" Path="abc"/>
+ </Annotation>
+ <Annotation Term="UI.PresentationVariant">
+ <Record>
+ <PropertyValue Property="SortOrder">
+ <Collection>
+ <Record Type="Common.SortOrderType">
+ <PropertyValue Property="Property" PropertyPath="LastChangedDateTime"/>
+ <PropertyValue Property="Descending" Bool="true"/>
+ </Record>
+ </Collection>
+ </PropertyValue>
+ <PropertyValue Property="Visualizations">
+ <Collection>
+ <AnnotationPath>@UI.LineItem</AnnotationPath>
+ </Collection>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.SelectionFields">
+ <Collection>
+ <PropertyPath>SalesOrder</PropertyPath>
+ <PropertyPath>SalesOrderOverallStatus</PropertyPath>
+ <PropertyPath>LastChangedDateTime</PropertyPath>
+ </Collection>
+ </Annotation>
+ <Annotation Term="Common.SemanticObject" String="EPMSalesOrder"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/DraftUUID">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/HasActiveEntity">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/HasDraftEntity">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/IsActiveEntity">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/DraftEntityCreationDateTime">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/DraftEntityLastChangeDateTime">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/ParentDraftUUID">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/RootDraftUUID">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/Preparation_ac">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_C_ScheduleLineTPType/Validation_ac">
+ <Annotation Term="UI.Hidden"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_I_QuantityUnitType/UnitOfMeasureISOCode">
+ <Annotation Term="UI.HiddenFilter"/>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_I_QuantityUnitType">
+ <Annotation Term="UI.HeaderInfo">
+ <Record>
+ <PropertyValue Property="TypeName" String="Quantity Unit"/>
+ <PropertyValue Property="TypeNamePlural" String="Quantity Units"/>
+ <PropertyValue Property="Title">
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="UnitOfMeasure"/>
+ </Record>
+ </PropertyValue>
+ </Record>
+ </Annotation>
+ <Annotation Term="UI.Identification">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="UnitOfMeasure"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ </Annotation>
+ <Annotation Term="UI.LineItem">
+ <Collection>
+ <Record Type="UI.DataField">
+ <PropertyValue Property="Value" Path="UnitOfMeasure"/>
+ <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>
+ </Record>
+ </Collection>
+ <Annotation Term="UI.Criticality" Path="abc"/>
+ </Annotation>
+ </Annotations>
+ <Annotations Target="SEPMRA_SO_MAN2.SEPMRA_I_SalesOrderAgeType/SalesOrder">
+ <Annotation Term="UI.HiddenFilter"/>
+ <Annotation Term="Common.SemanticObject" String="EPMSalesOrder"/>
+ </Annotations>
+ </Schema>
+ </edmx:DataServices>
+</edmx:Edmx>
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Edm.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Edm.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Edm.java
index 1efdaca..b24f82a 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Edm.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/Edm.java
@@ -92,6 +92,16 @@ public interface Edm {
EdmEntityType getEntityType(FullQualifiedName name);
/**
+ * Get entity type with annotations by full qualified name.
+ * <br/>
+ * See {@link EdmEntityType} for more information.
+ *
+ * @param name full qualified name of entity type
+ * @return {@link EdmEntityType}
+ */
+ EdmEntityType getEntityTypeWithAnnotations(FullQualifiedName name);
+
+ /**
* Get complex type by full qualified name..
* <br/>
* See {@link EdmComplexType} for more information.
@@ -102,6 +112,16 @@ public interface Edm {
EdmComplexType getComplexType(FullQualifiedName name);
/**
+ * Get complex type with annotations by full qualified name..
+ * <br/>
+ * See {@link EdmComplexType} for more information.
+ *
+ * @param name full qualified name of complex type
+ * @return {@link EdmComplexType}
+ */
+ EdmComplexType getComplexTypeWithAnnotations(FullQualifiedName name);
+
+ /**
* Get unbound Action by full qualified name.
*
* @param actionName must not be null
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java
index 48c2078..dc7df5e 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmBindingTarget.java
@@ -58,4 +58,11 @@ public interface EdmBindingTarget extends EdmNamed, EdmAnnotatable, EdmMappable
* @return {@link EdmEntityType}
*/
EdmEntityType getEntityType();
+
+ /**
+ * Get the entity type with annotations defined in external file.
+ *
+ * @return {@link EdmEntityType}
+ */
+ EdmEntityType getEntityTypeWithAnnotations();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java
index f84b9ed..c65eae2 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmEntityContainer.java
@@ -76,6 +76,14 @@ public interface EdmEntityContainer extends EdmNamed, EdmAnnotatable {
* @return returns all entity sets for this container.
*/
List<EdmEntitySet> getEntitySets();
+
+ /**
+ * This method <b>DOES NOT</b> support lazy loading
+ *
+ * @return returns all entity sets for this container with
+ * annotations defined in external file.
+ */
+ List<EdmEntitySet> getEntitySetsWithAnnotations();
/**
* This method <b>DOES NOT</b> support lazy loading
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java
index a351e48..6d4baec 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/EdmProperty.java
@@ -75,4 +75,11 @@ public interface EdmProperty extends EdmElement, EdmMappable, EdmAnnotatable {
* @return the default value as a String or null if not specified
*/
String getDefaultValue();
+
+ /**
+ * See {@link EdmType} for more information about possible types.
+ *
+ * @return {@link EdmType}
+ */
+ EdmType getTypeWithAnnotations();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java
index eb551aa..e24671b 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/CsdlAnnotation.java
@@ -103,4 +103,51 @@ public class CsdlAnnotation extends CsdlAbstractEdmItem implements CsdlAnnotatab
public List<CsdlAnnotation> getAnnotations() {
return annotations;
}
+
+ @Override
+ public boolean equals (Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof CsdlAnnotation)) {
+ return false;
+ }
+ CsdlAnnotation csdlAnnot = (CsdlAnnotation) obj;
+ return (this.getTerm() == null ? csdlAnnot.getTerm() == null :
+ this.getTerm().equals(csdlAnnot.getTerm()))
+ && (this.getQualifier() == null ? csdlAnnot.getQualifier() == null :
+ this.getQualifier().equals(csdlAnnot.getQualifier()))
+ && (this.getExpression() == null ? csdlAnnot.getExpression() == null :
+ this.getExpression().equals(csdlAnnot.getExpression()))
+ && (this.getAnnotations() == null ? csdlAnnot.getAnnotations() == null :
+ checkAnnotations(csdlAnnot.getAnnotations()));
+ }
+
+ private boolean checkAnnotations(List<CsdlAnnotation> csdlAnnots) {
+ if (csdlAnnots == null) {
+ return false;
+ }
+ if (this.getAnnotations().size() == csdlAnnots.size()) {
+ for (int i = 0; i < this.getAnnotations().size(); i++) {
+ if (!this.getAnnotations().get(i).equals(csdlAnnots.get(i))) {
+ return false;
+ }
+ }
+ } else {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((term == null) ? 0 : term.hashCode());
+ result = prime * result + ((qualifier == null) ? 0 : qualifier.hashCode());
+ result = prime * result + ((annotationExpression == null) ? 0 :
+ annotationExpression.hashCode());
+ result = prime * result + ((annotations == null) ? 0 : annotations.hashCode());
+ return result;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlAnnotationPath.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlAnnotationPath.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlAnnotationPath.java
index 1a9935a..0efad60 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlAnnotationPath.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlAnnotationPath.java
@@ -37,4 +37,26 @@ public class CsdlAnnotationPath extends CsdlDynamicExpression {
public String getValue() {
return value;
}
+
+ @Override
+ public boolean equals (Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof CsdlAnnotationPath)) {
+ return false;
+ }
+ CsdlAnnotationPath csdlAnnotPath = (CsdlAnnotationPath) obj;
+
+ return this.getValue() == null ? csdlAnnotPath.getValue() == null :
+ this.getValue().equals(csdlAnnotPath.getValue());
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ return result;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlApply.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlApply.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlApply.java
index 8bfb596..929165b 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlApply.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlApply.java
@@ -73,4 +73,63 @@ public class CsdlApply extends CsdlDynamicExpression implements CsdlAnnotatable
this.parameters = parameters;
return this;
}
+
+ @Override
+ public boolean equals (Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof CsdlApply)) {
+ return false;
+ }
+ CsdlApply annotApply = (CsdlApply) obj;
+ return (this.getFunction() == null ? annotApply.getFunction() == null :
+ this.getFunction().equals(annotApply.getFunction()))
+ && (this.getParameters() == null ? annotApply.getParameters() == null :
+ checkParamaters(annotApply.getParameters()))
+ && (this.getAnnotations() == null ? annotApply.getAnnotations() == null :
+ checkAnnotations(annotApply.getAnnotations()));
+ }
+
+ private boolean checkAnnotations(List<CsdlAnnotation> annotApplyannotations) {
+ if (annotApplyannotations == null) {
+ return false;
+ }
+ if (this.getAnnotations().size() == annotApplyannotations.size()) {
+ for (int i = 0; i < this.getAnnotations().size(); i++) {
+ if (!this.getAnnotations().get(i).equals(annotApplyannotations.get(i))) {
+ return false;
+ }
+ }
+ } else {
+ return false;
+ }
+ return true;
+ }
+
+ private boolean checkParamaters(List<CsdlExpression> annotApplyParams) {
+ if (annotApplyParams == null) {
+ return false;
+ }
+ if (this.getParameters().size() == annotApplyParams.size()) {
+ for (int i = 0; i < this.getParameters().size(); i++) {
+ if (!this.getParameters().get(i).equals(annotApplyParams.get(i))) {
+ return false;
+ }
+ }
+ } else {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((function == null) ? 0 : function.hashCode());
+ result = prime * result + ((parameters == null) ? 0 : parameters.hashCode());
+ result = prime * result + ((annotations == null) ? 0 : annotations.hashCode());
+ return result;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCast.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCast.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCast.java
index d3b650c..806718b 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCast.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCast.java
@@ -126,4 +126,59 @@ public class CsdlCast extends CsdlDynamicExpression implements CsdlAnnotatable {
this.value = value;
return this;
}
+
+ @Override
+ public boolean equals (Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof CsdlCast)) {
+ return false;
+ }
+ CsdlCast csdlCast = (CsdlCast) obj;
+ return (this.getValue() == null ? csdlCast.getValue() == null :
+ this.getValue().equals(csdlCast.getValue()))
+ && (this.getType() == null ? csdlCast.getType() == null :
+ this.getType().equals(csdlCast.getType()))
+ && (this.getMaxLength() == null ? csdlCast.getMaxLength() == null :
+ this.getMaxLength().equals(csdlCast.getMaxLength()))
+ && (this.getPrecision() == null ? csdlCast.getPrecision() == null :
+ this.getPrecision().equals(csdlCast.getPrecision()))
+ && (this.getScale() == null ? csdlCast.getScale() == null :
+ this.getScale().equals(csdlCast.getScale()))
+ && (this.getSrid() == null ? csdlCast.getSrid() == null :
+ String.valueOf(this.getSrid()).equals(String.valueOf(csdlCast.getSrid())))
+ && (this.getAnnotations() == null ? csdlCast.getAnnotations() == null :
+ checkAnnotations(csdlCast.getAnnotations()));
+ }
+
+ private boolean checkAnnotations(List<CsdlAnnotation> csdlCastAnnotations) {
+ if (csdlCastAnnotations == null) {
+ return false;
+ }
+ if (this.getAnnotations().size() == csdlCastAnnotations.size()) {
+ for (int i = 0; i < this.getAnnotations().size(); i++) {
+ if (!this.getAnnotations().get(i).equals(csdlCastAnnotations.get(i))) {
+ return false;
+ }
+ }
+ } else {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((type == null) ? 0 : type.hashCode());
+ result = prime * result + ((maxLength == null) ? 0 : maxLength.hashCode());
+ result = prime * result + ((precision == null) ? 0 : precision.hashCode());
+ result = prime * result + ((scale == null) ? 0 : scale.hashCode());
+ result = prime * result + ((srid == null) ? 0 : srid.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ result = prime * result + ((annotations == null) ? 0 : annotations.hashCode());
+ return result;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCollection.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCollection.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCollection.java
index 285508b..926c660 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCollection.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlCollection.java
@@ -46,4 +46,41 @@ public class CsdlCollection extends CsdlDynamicExpression {
this.items = items;
return this;
}
+
+ @Override
+ public boolean equals (Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof CsdlCollection)) {
+ return false;
+ }
+ CsdlCollection annotColl = (CsdlCollection) obj;
+ return (this.getItems() == null ? annotColl.getItems() == null :
+ checkItems(annotColl.getItems()));
+ }
+
+ private boolean checkItems(List<CsdlExpression> annotCollItems) {
+ if (annotCollItems == null) {
+ return false;
+ }
+ if (this.getItems().size() == annotCollItems.size()) {
+ for (int i = 0; i < this.getItems().size(); i++) {
+ if (!this.getItems().get(i).equals(annotCollItems.get(i))) {
+ return false;
+ }
+ }
+ } else {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((items == null) ? 0 : items.hashCode());
+ return result;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlConstantExpression.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlConstantExpression.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlConstantExpression.java
index e8090e0..23f1a84 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlConstantExpression.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlConstantExpression.java
@@ -128,4 +128,28 @@ public class CsdlConstantExpression extends CsdlExpression {
return this;
}
+ @Override
+ public boolean equals (Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof CsdlConstantExpression)) {
+ return false;
+ }
+ CsdlConstantExpression csdlConstExp = (CsdlConstantExpression) obj;
+
+ return (this.getValue() == null ? csdlConstExp.getValue() == null :
+ this.getValue().equals(csdlConstExp.getValue()))
+ && (this.getType() == null ? csdlConstExp.getType() == null :
+ this.getType().equals(csdlConstExp.getType()));
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((type == null) ? 0 : type.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ return result;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIf.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIf.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIf.java
index fa191b3..789fdc4 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIf.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIf.java
@@ -90,4 +90,50 @@ public class CsdlIf extends CsdlDynamicExpression implements CsdlAnnotatable {
this._else = _else;
return this;
}
+
+ @Override
+ public boolean equals (Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof CsdlIf)) {
+ return false;
+ }
+ CsdlIf csdlIf = (CsdlIf) obj;
+ return (this.getGuard() == null ? csdlIf.getGuard() == null :
+ this.getGuard().equals(csdlIf.getGuard()))
+ && (this.getThen() == null ? csdlIf.getThen() == null :
+ this.getThen().equals(csdlIf.getThen()))
+ && (this.getElse() == null ? csdlIf.getElse() == null :
+ this.getElse().equals(csdlIf.getElse()))
+ && (this.getAnnotations() == null ? csdlIf.getAnnotations() == null :
+ checkAnnotations(csdlIf.getAnnotations()));
+ }
+
+ private boolean checkAnnotations(List<CsdlAnnotation> csdlIfAnnotations) {
+ if (csdlIfAnnotations == null) {
+ return false;
+ }
+ if (this.getAnnotations().size() == csdlIfAnnotations.size()) {
+ for (int i = 0; i < this.getAnnotations().size(); i++) {
+ if (!this.getAnnotations().get(i).equals(csdlIfAnnotations.get(i))) {
+ return false;
+ }
+ }
+ } else {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((guard == null) ? 0 : guard.hashCode());
+ result = prime * result + ((_then == null) ? 0 : _then.hashCode());
+ result = prime * result + ((_else == null) ? 0 : _else.hashCode());
+ result = prime * result + ((annotations == null) ? 0 : annotations.hashCode());
+ return result;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIsOf.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIsOf.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIsOf.java
index 5785f6b..0c0022f 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIsOf.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlIsOf.java
@@ -126,4 +126,58 @@ return this;
return this;
}
+ @Override
+ public boolean equals (Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof CsdlIsOf)) {
+ return false;
+ }
+ CsdlIsOf csdlIsOf = (CsdlIsOf) obj;
+ return (this.getType() == null ? csdlIsOf.getType() == null :
+ this.getType().equals(csdlIsOf.getType()))
+ && (this.getMaxLength() == null ? csdlIsOf.getMaxLength() == null :
+ this.getMaxLength().equals(csdlIsOf.getMaxLength()))
+ && (this.getPrecision() == null ? csdlIsOf.getPrecision() == null :
+ this.getPrecision().equals(csdlIsOf.getPrecision()))
+ && (this.getScale() == null ? csdlIsOf.getScale() == null :
+ this.getScale().equals(csdlIsOf.getScale()))
+ && (this.getSrid() == null ? csdlIsOf.getSrid() == null :
+ this.getSrid().equals(csdlIsOf.getSrid()))
+ && (this.getValue() == null ? csdlIsOf.getValue() == null :
+ this.getValue().equals(csdlIsOf.getValue()))
+ && (this.getAnnotations() == null ? csdlIsOf.getAnnotations() == null :
+ checkAnnotations(csdlIsOf.getAnnotations()));
+ }
+
+ private boolean checkAnnotations(List<CsdlAnnotation> csdlIsOfannot) {
+ if (csdlIsOfannot == null) {
+ return false;
+ }
+ if (this.getAnnotations().size() == csdlIsOfannot.size()) {
+ for (int i = 0; i < this.getAnnotations().size(); i++) {
+ if (!this.getAnnotations().get(i).equals(csdlIsOfannot.get(i))) {
+ return false;
+ }
+ }
+ } else {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((type == null) ? 0 : type.hashCode());
+ result = prime * result + ((maxLength == null) ? 0 : maxLength.hashCode());
+ result = prime * result + ((precision == null) ? 0 : precision.hashCode());
+ result = prime * result + ((scale == null) ? 0 : scale.hashCode());
+ result = prime * result + ((srid == null) ? 0 : srid.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ result = prime * result + ((annotations == null) ? 0 : annotations.hashCode());
+ return result;
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/8cbe468c/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlLabeledElement.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlLabeledElement.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlLabeledElement.java
index 2c31698..022c421 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlLabeledElement.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/annotation/CsdlLabeledElement.java
@@ -69,4 +69,48 @@ public class CsdlLabeledElement extends CsdlDynamicExpression implements CsdlAnn
this.value = value;
return this;
}
+
+ @Override
+ public boolean equals (Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof CsdlLabeledElement)) {
+ return false;
+ }
+ CsdlLabeledElement csdlLabelledEle = (CsdlLabeledElement) obj;
+ return (this.getName() == null ? csdlLabelledEle.getName() == null :
+ this.getName().equals(csdlLabelledEle.getName()))
+ && (this.getValue() == null ? csdlLabelledEle.getValue() == null :
+ this.getValue().equals(csdlLabelledEle.getValue()))
+ && (this.getAnnotations() == null ? csdlLabelledEle.getAnnotations() == null :
+ checkAnnotations(csdlLabelledEle.getAnnotations()));
+ }
+
+ private boolean checkAnnotations(List<CsdlAnnotation> csdlLabelledEleAnnotations) {
+ if (csdlLabelledEleAnnotations == null) {
+ return false;
+ }
+ if (this.getAnnotations().size() == csdlLabelledEleAnnotations.size()) {
+ for (int i = 0; i < this.getAnnotations().size() ; i++) {
+ if (!this.getAnnotations().get(i).equals(
+ csdlLabelledEleAnnotations.get(i))) {
+ return false;
+ }
+ }
+ } else {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ result = prime * result + ((annotations == null) ? 0 : annotations.hashCode());
+ return result;
+ }
}