2: personally I prefer consistent name and meaning, for example, the below : 
Name="Info/ID"
(http://docs.oasis-open.org/odata/odata/v4.0/os/part3-csdl/odata-v4.0-os-part3-csdl.html#_Toc372793937)
<EntityType Name="Category">
   <Key>
     <PropertyRef Name="Info/ID" Alias="EntityInfoID" />
   </Key>
   <Property Name="Info" Type="Sales.EntityInfo" Nullable="false" />
   <Property Name="Name" Type="Edm.String" />
 </EntityType>

3. FunctionImport doesn't seem to support overloaded functions. edm 'function' 
attribute only has the function name, doesn't count parameters in. any thoughts?
(http://docs.oasis-open.org/odata/odata/v4.0/os/part3-csdl/odata-v4.0-os-part3-csdl.html#_Element_edm:FunctionImport)
13.6.2 Attribute Function
The edm:FunctionImport element MUST include the Function attribute whose value 
MUST be a QualifiedName that resolves to the name of an unbound edm:Function 
element in scope.

Thanks,-Challen

-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org] 
Sent: 2014年3月6日 21:59
To: dev@olingo.incubator.apache.org
Subject: Re: [OLINGO-169] Work in progress

On 06/03/2014 14:56, Amend, Christian wrote:
> Hi Francesco,
>
> "The edm:PropertyRef element MUST specify a value for the Name attribute 
> which MUST be a path expression resolving to a primitive property of the 
> entity type itself or to a primitive property of a complex property 
> (recursively) of the entity type."
>
> We split the content of the XML Name attribute into a path part which leads 
> to the type and the actual name of the property at the type. Do you think 
> this can be confusing for a user?

Oh, now I see: I don't know about users, but I got a bit confused...

Regards.

> -----Original Message-----
> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
> Sent: Donnerstag, 6. März 2014 14:32
> To: dev@olingo.incubator.apache.org
> Subject: Re: [OLINGO-169] Work in progress
>
> On 06/03/2014 12:38, Amend, Christian wrote:
>> Hi Francesco,
>>
>> I looked at your changes and I think it is ok to merge them.
> Cool: let me finish some refinements + some compatibility checks for 
> V3 and I'll merge with master.
>
>> 1.) Not sure what to deliver here on client side. I will have a look into it.
> Thanks.
>
>> 2.) Path is what leads to the property which is referenced in the key. For 
>> example: complexProperty1/complexProperty2 would be the path while the Name 
>> attribute would be the name of the property. Alias is then used inside the 
>> URI.
> I know, but
>
> http://docs.oasis-open.org/odata/odata/v4.0/os/part3-csdl/odata-v4.0-o
> s-part3-csdl.html#_Toc372793938
>
> says that edm:PropertyRef does not have such Path information, only 
> Name and Alias: am I missing something?
>
>> 3.) A function import must have an attribute with a name which resolves to 
>> an unbound function but unbound functions can be overloaded using their 
>> parameters. Thus getFunction(parameters) delivers the function which matches 
>> with the parameters.
> Got it, thanks.
>
> Regards.
>
>> -----Original Message-----
>> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
>> Sent: Mittwoch, 5. März 2014 16:28
>> To: dev@olingo.incubator.apache.org
>> Subject: Re: [OLINGO-169] Work in progress
>>
>> Hi,
>> as you might have noticed, I have completed the client-side 
>> implementation of common Edm interfaces in the olingo169 branch.
>>
>> Before merging such branch into master and close OLINGO-169, can you 
>> please take a look and see if everything looks fine? Of course all 
>> tests are succeeding, but I pushed some heavy refactoring that also 
>> affect server components and it would be nice if someone else can 
>> double-check.
>>
>> Finally, there are some more methods I have doubts about (and I have 
>> not implemented client-side):
>>
>>     1. EdmProperty#getMapping / EdmProperty#getMimeType / 
>> EdmParameter#getMapping  - what kind of information can be provided 
>> here client-side?
>>
>>     2. EdmKeyPropertyRef#getPath - edm:PropertyRef element only 
>> allows Name and Alias attributes, so what is 'getPath' supposed to return?
>>
>>     3. Why EdmFunctionImport#getFunction(List<String> parameterNames) 
>> instead of EdmFunctionImport#getFunction() (e.g. without parameters)?
>>
>> Shall I open an issue for such changes (including the ones discussed below)?
>>
>> Regards.
>>
>> On 03/03/2014 13:44, Amend, Christian wrote:
>>> Hi Francesco,
>>>
>>> I was about to start with metadata serialization on server side so I will 
>>> perform the changes on master and  you can merge them when you are ready.
>>>
>>> About introducing an AbstractEdmEnumTypeImpl. Yes why not.
>>>
>>> Best Regards,
>>> Christian
>>>
>>>
>>> -----Original Message-----
>>> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
>>> Sent: Montag, 3. März 2014 10:20
>>> To: dev@olingo.incubator.apache.org
>>> Subject: Re: [OLINGO-169] Work in progress
>>>
>>> On 03/03/2014 09:52, Amend, Christian wrote:
>>>> Hi Francesco,
>>>>
>>>> 1. yes. getMetadata should be deleted.
>>> Fine: shall I take this on the olingo169 branch or instead can you 
>>> make it on master (and I will later merge)?
>>>
>>>> 2. We use the EdmEntitySetInfo to build the ServiceDocument. So we used 
>>>> this method to get the URI. Might also be a candidate to be deleted.
>>> Same as above.
>>>
>>>> 3. Without arguments is fine by me.
>>> Same as above.
>>>
>>>> I was thinking that the whole EdmServiceMetadata interface is unnecessary. 
>>>> We should provide access to all entity sets, function imports and 
>>>> singletons at the Edm interface directly.
>>> +1 (even though I have already implemented client-side).
>>>
>>> What about
>>>
>>>> I am finding many similarities between server's EdmEnumImpl and 
>>>> client's
>>>> EdmEnumTypeImpl: is it fine to you to introduce 
>>>> AbstractEdmEnumTypeImpl in commons-core? (and so on, for all other Edm 
>>>> interfaces implementations).
>>> ?
>>>
>>> Regards.
>>>
>>>> -----Original Message-----
>>>> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
>>>> Sent: Montag, 3. März 2014 08:50
>>>> To: dev@olingo.incubator.apache.org
>>>> Subject: Re: [OLINGO-169] Work in progress
>>>>
>>>> Hi all,
>>>> a quick update.
>>>>
>>>> I am currently implementing, as suggested below, the current set of 
>>>> commons-api Edm interfaces on client side, in the same way they are 
>>>> implemented on server side, e.g. on top of another whole set of classes:
>>>> for example
>>>>
>>>> org.apache.olingo.odata4.server.core.edm.provider.EdmEnumImpl
>>>>
>>>> implements
>>>>
>>>> org.apache.olingo.odata4.commons.api.edm.EdmEnumType
>>>>
>>>> by delegating to an
>>>>
>>>> org.apache.olingo.odata4.server.api.edm.provider.EnumType
>>>>
>>>> server object which contains the actual information about the enum 
>>>> type; in the same fashion
>>>>
>>>> org.apache.olingo.odata4.client.core.edm.EdmEnumTypeImpl
>>>>
>>>> is implementing the same EdmEnumType above by delegating to an
>>>>
>>>> org.apache.olingo.odata4.client.api.edm.xml.EnumType
>>>>
>>>> client interface, whose concrete instances (different for V3 and 
>>>> V4) are actually constructed by the Jackson XML parser.
>>>>
>>>> At the end of this process I should be able to obtain what 
>>>> discussed below, hence I am fine.
>>>> I am finding many similarities between server's EdmEnumImpl and 
>>>> client's
>>>> EdmEnumTypeImpl: is it fine to you to introduce 
>>>> AbstractEdmEnumTypeImpl in commons-core? (and so on, for all other Edm 
>>>> interfaces implementions).
>>>>
>>>> Besides this, I will also remove usage of client-side EdmType and 
>>>> EdmSimpleType classes with the commons EdmType hierarchy.
>>>>
>>>> I am going to open two subtasks of OLINGO-169 in JIRA for these.
>>>>
>>>> Few questions I have after looking closely to Edm interfaces:
>>>>
>>>> 1. Does EdmServiceMetadata#getMetadata (which returns an 
>>>> InputStream containing the metadata document) make sense on client 
>>>> side? I'd say no, since client code actually *builds* an 
>>>> EdmServiceMetadata from an InputStream.
>>>> Shall we remove such method from common interface?
>>>>
>>>> 2. What is EdmEntitySetInfo#getEntitySetUri expected to provide? 
>>>> Isn't the external URI of an EntitySet provided by the service 
>>>> document (and only for entity sets with 'IncludeInServiceDocument' set to 
>>>> true)?
>>>>
>>>> 3. Does Edm#getEntityContainer(FullQualifiedName) make sense? CSDL 
>>>> specification (at the beginning of chapter 13) says: "Each metadata 
>>>> document used to describe an OData service MUST define exactly one 
>>>> entity container."
>>>> I would have expected Edm#getEntityContainer (e.g. without arguments).
>>>>
>>>> Regards.
>>>>
>>>> On 28/02/2014 09:09, Klevenz, Stephan wrote:
>>>>> Sorry for responding late.
>>>>>
>>>>> I am not sure if there is still a problem with using edm 
>>>>> interfaces from commons. I can share [1] of OData 2.0 library 
>>>>> which has a deserializer for metadata and which returns an interface.
>>>>>
>>>>> Setters in the interface not necessary. They are required for 
>>>>> implementation only. The implementation in [1] is stax based and 
>>>>> with that I currently don not see issues with cyclic element dependencies.
>>>>>
>>>>> If there is a need to change the edm interface so that a client 
>>>>> can better deal with it, just make a proposal. We will then cross 
>>>>> check for the server case and if there is no issue ... just do it.
>>>>>
>>>>> Regards,
>>>>> Stephan
>>>>>
>>>>>
>>>>> [1]
>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-odata2.
>>>>> git;a=blo 
>>>>> b;f=odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/c
>>>>> ore/ep/co 
>>>>> nsumer/XmlMetadataConsumer.java;h=e8677a1112aa319d9b12fa615b39015e
>>>>> 63fce1d2;
>>>>> hb=HEAD
>>>>>
>>>>>
>>>>> On 26.02.14 17:05, "Challen He" <chall...@microsoft.com> wrote:
>>>>>
>>>>>> For (1), yes, I agree (the new work is to re-use ODataJClient 
>>>>>> parser, and then convert *"old" ODataJClient Edm interfaces* 
>>>>>> result --> *Olingo 4 common Edm interfaces* result) About (2), I 
>>>>>> think so, unifying Edm interfaces is one of the goals of moving 
>>>>>> to ASF, and the resulted Edm interfaces should be 'strong typed'
>>>>>> rather than 'weak typed' model. (we can take a look at and 
>>>>>> prioritize all tasks for better plan & schedule)
>>>>>>
>>>>>> Thanks,-Challen
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
>>>>>> Sent: 2014年2月26日 23:45
>>>>>> To: dev@olingo.incubator.apache.org
>>>>>> Subject: Re: [OLINGO-169] Work in progress
>>>>>>
>>>>>> Hi Challen,
>>>>>> thanks for your suggestions: I was actually more willing to check
>>>>>>
>>>>>> (1) whether my understanding, e.g. the concept difference between "old"
>>>>>> ODataJClient Edm interfaces and Olingo 4 common Edm interfaces, 
>>>>>> is correct
>>>>>> (2) if so, whether it is immediately necessary to change the 
>>>>>> client XML Metadata parser accordingly: being not a trivial task, 
>>>>>> I want to be sure it is needed before committing to it
>>>>>>
>>>>>> Hope this clarifies.
>>>>>> Regards.
>>>>>>
>>>>>> On 26/02/2014 16:33, Challen He wrote:
>>>>>>> Hi Francesco,
>>>>>>>
>>>>>>> I think cross/circle reference in Edm is inevitable: not only 
>>>>>>> EntityContainer but also EntityType itself may refer to EntityType, e.g.
>>>>>>> entity type 'Employee' has a property of 'Manager' type, and 'Manager'
>>>>>>> type itself contains a collection of 'Employee'. So the job of 
>>>>>>> figuring out their relationships will be taken by user /client / 
>>>>>>> server code if common doesn't do it.
>>>>>>>
>>>>>>> A 2-phased solution is: phase1 - parse CSDL xml doc into a set 
>>>>>>> of intermediate csdl objects (they only have weak reference like 
>>>>>>> the mentioned String field named 'entityType'), phase2 - use 
>>>>>>> csdl objects to first build all edm type objects 
>>>>>>> (EdmComplexType, EdmEntityType, EdmEnumType..., need to handle 
>>>>>>> circle references among them), then these edm type objects are 
>>>>>>> used to build EntitySet/Container/function/action/annotation term...
>>>>>>>
>>>>>>> I think we can start with the assumption of no circle reference 
>>>>>>> and later add support for it, but in the design it looks ok for 
>>>>>>> all Edm interface definitions to have 'strong type' references 
>>>>>>> like 'EdmEntitySet' -> 'EdmEntityType', or 'EdmEntityType' -> 
>>>>>>> another 'EdmEntityType' ...
>>>>>>>
>>>>>>> (though I am not 100% sure but personally I think entity 
>>>>>>> interfaces with getter only will work, considering that they 
>>>>>>> will be created by
>>>>>>> factory/builder)
>>>>>>>
>>>>>>> Thanks,-Challen
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
>>>>>>> Sent: 2014年2月26日 19:14
>>>>>>> To: dev@olingo.incubator.apache.org
>>>>>>> Subject: Re: [OLINGO-169] Work in progress
>>>>>>>
>>>>>>> Hi,
>>>>>>> I have spent some more time in comparing the commons-api Edm 
>>>>>>> interfaces and their client-api counterparts and I am going to 
>>>>>>> try to explain better my concerns.
>>>>>>>
>>>>>>> Let's take again the sample below:
>>>>>>>
>>>>>>> <EntitySet Name="Products" EntityType="ODataDemo.Product">
>>>>>>>         <NavigationPropertyBinding 
>>>>>>> Path="ODataDemo.FeaturedProduct/Advertisement" Target="Advertisements"/>
>>>>>>>         <NavigationPropertyBinding Path="Categories" 
>>>>>>> Target="Categories"/>
>>>>>>>         <NavigationPropertyBinding Path="Supplier" Target="Suppliers"/>
>>>>>>>         <NavigationPropertyBinding Path="ProductDetail"
>>>>>>> Target="ProductDetails"/>
>>>>>>> </EntitySet>
>>>>>>>
>>>>>>> Currently, the way odata4-client-core works will barely 
>>>>>>> translate this piece of information from XML to Java object(s), 
>>>>>>> where an instance of EntitySetImpl - implementation of EntitySet 
>>>>>>> [9] - has a String field named 'entityType' with value 
>>>>>>> 'ODataDemo.Product'.
>>>>>>>
>>>>>>> If you take a look at EdmEntitySet [10] instead, this interface 
>>>>>>> supposes that an EdmEntitySetImpl will have an EdmEntityType 
>>>>>>> field named 'entityType', whose value is a reference to an 
>>>>>>> EdmEntityTypeImpl instance for ODataDemo.Product.
>>>>>>>
>>>>>>> This fact implies that the metadata XML parser will need, when 
>>>>>>> encountering the XML attribute
>>>>>>>
>>>>>>> EntityType="ODataDemo.Product"
>>>>>>>
>>>>>>> to look at EdmEntityTypeImpl instances built so far during 
>>>>>>> parsing and associate the one with name 'ODataDemo.Product' to 
>>>>>>> the EdmEntitySetImpl under construction.
>>>>>>> All that where potentially ODataDemo.Product could be not 
>>>>>>> defined in the current metadata document but in one of 
>>>>>>> referenced metadata documents.
>>>>>>>
>>>>>>> As you can see, this is a *huge* difference: consider, for 
>>>>>>> example, that the instances to link to the one under 
>>>>>>> construction could not even be built yet - see the 
>>>>>>> NavigationPropertyBinding's target above, where "Categories" 
>>>>>>> could be an EntitySet or a Singleton not yet encountered in the XML 
>>>>>>> document being parsed.
>>>>>>>
>>>>>>> Before starting this considerable change effort, I'd like to 
>>>>>>> understand if I am right in the finding above and also if you 
>>>>>>> think it is worth to change the way how the client metadata XML parser 
>>>>>>> currently works.
>>>>>>> If I am right, in fact, we need either to give up on making the 
>>>>>>> effort to use the same Edm interfaces client- and server-side or 
>>>>>>> the change described above must be implemented.
>>>>>>>
>>>>>>> Another minor issue I have with commons-api Edm interfaces is 
>>>>>>> that they mostly lack setter methods: is it fine to introduce 
>>>>>>> them? It will make the XML parser work a little less hard.
>>>>>>>
>>>>>>> Regards.
>>>>>>>
>>>>>>> On 25/02/2014 17:16, Amend, Christian wrote:
>>>>>>>> 1. Yes using the EdmType hierarchy should work just fine. I Am 
>>>>>>>> not quite sure what you mean by parsing type expressions. Do 
>>>>>>>> you mean that you have a Java String and would like to have an 
>>>>>>>> EdmPrimitiveType for this?
>>>>>>>>
>>>>>>>> 2. I see your concern. We had a similar question with V2 when 
>>>>>>>> we tried to implement a client. We could delete these info 
>>>>>>>> objects but would then have to provide methods like 
>>>>>>>> getEntitySets() (returning a list of
>>>>>>>> EdmEntitySets) at the EDM directly. Otherwise how would a 
>>>>>>>> client access the entity sets without knowing their name first.
>>>>>>>>
>>>>>>>> 2.) b+c) then lets move the V3 interfaces into commons.
>>>>>>>>
>>>>>>>> Best Regards,
>>>>>>>> Christian
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
>>>>>>>> Sent: Dienstag, 25. Februar 2014 16:10
>>>>>>>> To: dev@olingo.incubator.apache.org
>>>>>>>> Subject: Re: [OLINGO-169] Work in progress
>>>>>>>>
>>>>>>>> On 25/02/2014 14:38, Amend, Christian wrote:
>>>>>>>>> Hi Francesco,
>>>>>>>>>
>>>>>>>>> 1. I don`t quite understand where your concern is there. Could 
>>>>>>>>> you please clarify?
>>>>>>>> Let's put it differently: is there already something for 
>>>>>>>> parsing type expressions?
>>>>>>>> Moreover: is there already something to represent types? I 
>>>>>>>> guess that EdmType[8]'s hierarchy should fit the job, right? In 
>>>>>>>> this case I should be able to remove [1][2][3][4][5] and use EdmType 
>>>>>>>> descendants.
>>>>>>>>
>>>>>>>>> 2.)
>>>>>>>>> a) The info interfaces are there because there was no way to 
>>>>>>>>> get a list of all entity sets inside the edm without knowing their 
>>>>>>>>> name.
>>>>>>>>> Also this information is needed for the service document.
>>>>>>>> Ok: I am not sure whether the existing interfaces are suitable, 
>>>>>>>> from a client perspective; consider that client will 
>>>>>>>> instantiate the Edm interfaces' implementations by parsing the 
>>>>>>>> $metadata XML content.
>>>>>>>> As an example, please see how to represent something like as
>>>>>>>>
>>>>>>>> <EntitySet Name="Products" EntityType="ODataDemo.Product">
>>>>>>>>         <NavigationPropertyBinding 
>>>>>>>> Path="ODataDemo.FeaturedProduct/Advertisement"
>>>>>>>> Target="Advertisements"/>
>>>>>>>>         <NavigationPropertyBinding Path="Categories" 
>>>>>>>> Target="Categories"/>
>>>>>>>>         <NavigationPropertyBinding Path="Supplier" Target="Suppliers"/>
>>>>>>>>         <NavigationPropertyBinding Path="ProductDetail"
>>>>>>>> Target="ProductDetails"/> </EntitySet>
>>>>>>>>
>>>>>>>> With EntitySet [9] this will result in (please excuse the 
>>>>>>>> pseudo-JSON
>>>>>>>> representation):
>>>>>>>>
>>>>>>>> EntitySetImpl {
>>>>>>>>        name: "Products",
>>>>>>>>        entityType: "ODataDemo.Product",
>>>>>>>>        includeInServiceDocument: true,
>>>>>>>>        navigationPropertyBindings: [
>>>>>>>>          NavigationPropertyBindingImpl {
>>>>>>>>            path: "ODataDemo.FeaturedProduct/Advertisement",
>>>>>>>>            target: "Advertisements"
>>>>>>>>          },
>>>>>>>>          ...
>>>>>>>>        ]
>>>>>>>> }
>>>>>>>>
>>>>>>>> i.e. this is more or less the translation of the XML snippet above.
>>>>>>>>
>>>>>>>> With EdmEntitySet [10] instead the representation is much more 
>>>>>>>> involved, mostly because metadata is something that is to be 
>>>>>>>> built and then pushed out as XML, rather than parsed from XML.
>>>>>>>>
>>>>>>>> Not sure I actually succeeded in expressing my concerns...
>>>>>>>>
>>>>>>>>> b) No I think the interfaces in [6] should cover all aspects 
>>>>>>>>> of the EDM. If not this is functionality which has to be added.
>>>>>>>>> c) If they can coexist without causing conflicts I would put 
>>>>>>>>> the V3 interfaces in the commons API. We might not support 
>>>>>>>>> this on server side from the beginning but a later refactoring 
>>>>>>>>> would be cumbersome IMHO. Although I am open for other opinions.
>>>>>>>> The current client Edm interfaces [7] are available for V3 and 
>>>>>>>> V4 without conflicts, so there should be no problem on having 
>>>>>>>> them in odata4-commons-api, without providing server implementations 
>>>>>>>> for V3's.
>>>>>>>>
>>>>>>>> Regards.
>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
>>>>>>>>> Sent: Dienstag, 25. Februar 2014 14:06
>>>>>>>>> To: dev@olingo.incubator.apache.org
>>>>>>>>> Subject: [OLINGO-169] Work in progress
>>>>>>>>>
>>>>>>>>> Hi all,
>>>>>>>>> I have reached a fair stable point for merging ODataJClient's 
>>>>>>>>> Metadata parsing into olingo-odata4 (in the 'olingo169' GIT branch):
>>>>>>>>> now metadata parsing works either for V3 and V4 (few unit 
>>>>>>>>> tests have been added in olingo-odata4-client-core ).
>>>>>>>>>
>>>>>>>>> At this point I have two main concerns before considering the 
>>>>>>>>> work for
>>>>>>>>> OLINGO-169 completed (and consequently merge olingo169 into master):
>>>>>>>>>
>>>>>>>>> 1. types
>>>>>>>>>
>>>>>>>>> EdmType [1] is an interface (with concrete implementations 
>>>>>>>>> available for
>>>>>>>>> V3 and V4) whose main purpose is parsing type expressions 
>>>>>>>>> (like as
>>>>>>>>> 'Collection(ODataDemo.Product)') into a meaningful 
>>>>>>>>> representation, e.g.
>>>>>>>>> EdmSimpleType [2], EnumType [3], ComplexType [4] or EntityType 
>>>>>>>>> [5] and also to provide other useful information (is this a 
>>>>>>>>> collection?
>>>>>>>>> does it have a base type?).
>>>>>>>>>
>>>>>>>>> I am sure that this duplicates something else in 
>>>>>>>>> odata-olingo4. but I need some guidance about how to replace 
>>>>>>>>> [1][2][3][4][5]. Also, I suppose that a better location for 
>>>>>>>>> such items is olingo-odata4-commons-api rather than 
>>>>>>>>> olingo-odata4-client-api (where they reside ATM).
>>>>>>>>> Who would like to volunteer?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2. Edm interfaces
>>>>>>>>>
>>>>>>>>> olingo-odata4-commons-api holds in [6] the current set of Edm 
>>>>>>>>> interfaces implemented server-side whilst I have temporarily 
>>>>>>>>> put the set of Edm interfaces implemented client-side in 
>>>>>>>>> olingo-odata4-client-api's [7] (and subpackages).
>>>>>>>>>
>>>>>>>>> Again, I need to understand how to reconcile and consolidate 
>>>>>>>>> these two sets (into olingo-odata4-commons-api of course), but 
>>>>>>>>> there are several aspects I don't understand:
>>>>>>>>>
>>>>>>>>>          (a) what is the purpose of *Info interfaces (like as 
>>>>>>>>> EdmEntitySetInfo)? what's the usage difference with EdmEntitySet?
>>>>>>>>>          (b) is the set from [6] still to be completed?
>>>>>>>>>          (c) would it be fine to put in [6] the merge with all 
>>>>>>>>> interfaces from [7], including V3's or is it better to keep 
>>>>>>>>> V3's in olingo-odata4-client-api?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks for your support.
>>>>>>>>> Regards.
>>>>>>>>>
>>>>>>>>> [1]
>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-oda
>>>>>>>>> ta4.gi
>>>>>>>>> t
>>>>>>>>> ;a=blob;f=odata4-lib/odata4-client-api/src/main/java/org/apach
>>>>>>>>> e/olin
>>>>>>>>> g
>>>>>>>>> o/odata4/client/api/edm/EdmType.java;h=5a480d72cbbc707696dd358
>>>>>>>>> e11746
>>>>>>>>> 8
>>>>>>>>> f0f87980fb;hb=olingo169 [2]
>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-oda
>>>>>>>>> ta4.gi
>>>>>>>>> t
>>>>>>>>> ;a=blob;f=odata4-lib/odata4-client-api/src/main/java/org/apach
>>>>>>>>> e/olin
>>>>>>>>> g
>>>>>>>>> o/odata4/client/api/data/EdmSimpleType.java;h=7d44c376e89b084c
>>>>>>>>> 6e8563
>>>>>>>>> c
>>>>>>>>> 63317012284278795;hb=olingo169 [3] 
>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-oda
>>>>>>>>> ta4.gi
>>>>>>>>> t
>>>>>>>>> ;a=blob;f=odata4-lib/odata4-client-api/src/main/java/org/apach
>>>>>>>>> e/olin
>>>>>>>>> g
>>>>>>>>> o/odata4/client/api/edm/EnumType.java;h=614c5e1e85a731ae80de56
>>>>>>>>> 899e7d
>>>>>>>>> 9
>>>>>>>>> d82ae846bf0;hb=olingo169 [4]
>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-oda
>>>>>>>>> ta4.gi
>>>>>>>>> t
>>>>>>>>> ;a=blob;f=odata4-lib/odata4-client-api/src/main/java/org/apach
>>>>>>>>> e/olin
>>>>>>>>> g
>>>>>>>>> o/odata4/client/api/edm/ComplexType.java;h=929d1b83f4db4c290b0
>>>>>>>>> 681b7d
>>>>>>>>> 6
>>>>>>>>> 29b9d0545f33a5;hb=olingo169 [5] 
>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-oda
>>>>>>>>> ta4.gi
>>>>>>>>> t
>>>>>>>>> ;a=blob;f=odata4-lib/odata4-client-api/src/main/java/org/apach
>>>>>>>>> e/olin
>>>>>>>>> g
>>>>>>>>> o/odata4/client/api/edm/EntityType.java;h=37ebc359f0ec36e439b3
>>>>>>>>> a8555e
>>>>>>>>> 2
>>>>>>>>> 3ebaa84506c2e;hb=olingo169 [6] 
>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-oda
>>>>>>>>> ta4.gi
>>>>>>>>> t
>>>>>>>>> ;a=tree;f=odata4-lib/odata4-commons-api/src/main/java/org/apac
>>>>>>>>> he/oli
>>>>>>>>> n
>>>>>>>>> go/odata4/commons/api/edm;h=5735ace09587887d86a9f09c9ffdcd624b
>>>>>>>>> 97521f
>>>>>>>>> ;
>>>>>>>>> hb=olingo169 [7]
>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-oda
>>>>>>>>> ta4.gi
>>>>>>>>> t
>>>>>>>>> ;a=tree;f=odata4-lib/odata4-client-api/src/main/java/org/apach
>>>>>>>>> e/olin
>>>>>>>>> g
>>>>>>>>> o/odata4/client/api/edm;h=31d1e59d5b76ba321b93bd68bda675522f9d
>>>>>>>>> 1a8c;h
>>>>>>>>> b
>>>>>>>>> =olingo169
>>>>>>>> [8]
>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-odat
>>>>>>>> a4.git
>>>>>>>> ;
>>>>>>>> a=blob;f=odata4-lib/odata4-commons-api/src/main/java/org/apache
>>>>>>>> /oling
>>>>>>>> o
>>>>>>>> /odata4/commons/api/edm/EdmType.java;h=bee2fa5394774b4ea41a71ee
>>>>>>>> 433cf5
>>>>>>>> d
>>>>>>>> 7366c961c;hb=olingo169 [9]
>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-odat
>>>>>>>> a4.git
>>>>>>>> ;
>>>>>>>> a=blob;f=odata4-lib/odata4-client-api/src/main/java/org/apache/
>>>>>>>> olingo
>>>>>>>> /
>>>>>>>> odata4/client/api/edm/v4/EntitySet.java;h=703c0dfa3c23ea66ea88c
>>>>>>>> 8fb387
>>>>>>>> 5
>>>>>>>> f90962e3a800;hb=olingo169 [10]
>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-odat
>>>>>>>> a4.git
>>>>>>>> ;
>>>>>>>> a=blob;f=odata4-lib/odata4-commons-api/src/main/java/org/apache
>>>>>>>> /oling
>>>>>>>> o
>>>>>>>> /odata4/commons/api/edm/EdmEntitySet.java;h=50dbe0590ff5aa32340
>>>>>>>> eeee5d
>>>>>>>> 3
>>>>>>>> 26844a92f0c91a;hb=olingo169

--
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC, Olingo PPMC 
http://people.apache.org/~ilgrosso/

Reply via email to