[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] Updated: (ODATA-531) Simplify OptimisticConcurrency in Core vocabulary
[ http://tools.oasis-open.org/issues/browse/ODATA-531?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ralf Handl updated ODATA-531: ----------------------------- Proposal: Replace the Core.OptimisticConcurrencyControl term in the Core vocabulary with the following: <Term Name="OptimisticConcurrency" Type="Collection(Edm.PropertyPath)" AppliesTo="EntitySet"> <Annotation Term="Core.Description" String="Data modification requires the use of Etags. A non-empty collection contains the set of properties that are used to compute the ETag" /> </Term> Accepted: https://www.oasis-open.org/committees/download.php/50877/odata-meeting-54_on-20131001-minutes.html#odata-531 was: Replace the Core.OptimisticConcurrencyControl term in the Core vocabulary with the following: <Term Name="OptimisticConcurrency" Type="Collection(Edm.PropertyPath)" AppliesTo="EntitySet"> <Annotation Term="Core.Description" String="Data modification requires the use of Etags. A non-empty collection contains the set of properties that are used to compute the ETag" /> </Term> > Simplify OptimisticConcurrency in Core vocabulary > ------------------------------------------------- > > Key: ODATA-531 > URL: http://tools.oasis-open.org/issues/browse/ODATA-531 > Project: OASIS Open Data Protocol (OData) TC > Issue Type: Bug > Components: Vocabularies > Affects Versions: V4.0_CS01 > Environment: [Proposal] > Reporter: Michael Pizzo > Fix For: V4.0_CSD03 > > > The OptimisticConcurrencyControl term in the Core vocabulary currently defines a complex type that contains a single collection-valued property: > <Term Name="OptimisticConcurrencyControl" Type="Core.OptimisticConcurrencyControlType" AppliesTo="EntitySet"> > <Annotation Term="Core.Description" String="If present, the annotated entity set uses optimistic concurrency control" /> > </Term> > <ComplexType Name="OptimisticConcurrencyControlType"> > <Property Name="ETagDependsOn" Type="Collection(Edm.PropertyPath)" Nullable="true"> > <Annotation Term="Core.Description" String="The ETag is computed from these properties" /> > </Property> > </ComplexType> > This intermediate complex type means that applying the vocabulary requires an extra <Record> and <PropertyValue> wrapper: > <EntitySet Name="Entities" Type="Self.Entity"> > <Annotation Term="Core.OptimisticConcurrencyControl"> > <Record> > <PropertyValue Name="ETagDependsOn"> > <Collection> > <PropertyPath>LastModified</PropertyPath> > </Collection> > </PropertyValue> > </Record> > </Annotation> > </EntitySet> > This is unnecessarily cumbersome. We can remove the extra complex type and just create a term whose type is Collection(Edm.NavigationPropertyPath), as in: > <Term Name="OptimisticConcurrencyControlProperties" Type="Collection(Edm.PropertyPath)" AppliesTo="EntitySet"> > <Annotation Term="Core.Description" String="The set of properties that are used to compute the ETag" /> > </Term> > Which would be applied much more simply as: > <EntitySet Name="Entities" Type="Self.Entity"> > <Annotation Term="Core.OptimisticConcurrencyControlProperties"> > <Collection> > <PropertyPath>LastModified</PropertyPath> > </Collection> > </Annotation> > </EntitySet> > I think these annotations will be common, so having a simpler way to express is significant. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]