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; + } }