OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Created: (ODATA-531) Simplify OptimisticConcurrency in Core vocabulary


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:




-- 
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]