Hi Francesco,

1. Yes since we never supported the geo types in V2 there has been no 
implementation which I could put into the V4 repo and I did not have the time 
to implement them till now. So this is still a pending feature. I will open a 
Jira issue.

2. Stream types are a bit tricky in my opinion since they have no real string 
representation inside the payload. So all methods which are available at the 
EdmPrimitiveType interface have no defined output. Again something that's on 
the list but we haven't stated yet. 

3. These types where used during URI parsing in V2. I was not sure if we need 
them in V4.

a.) Yes. Sounds good.

b.) Yes.

c.) Yes but I would make this an additional method and keep the old method 
which delivers the V4 as a default. WDYT?

d.) We should move Uint7 and EdmNull to the server implementation. This way we 
can still use them during URI parsing similar to V2. If we come to the 
conclusion they are not needed anymore I will delete them.

WDYT?

Best Regards,
Christian

-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org] 
Sent: Montag, 10. März 2014 11:26
To: dev@olingo.incubator.apache.org
Subject: [DISCUSS] Primitive types

Hi all,
by comparing the list of OData 4.0 primitive types [1] with 
commons-core's org.apache.olingo.commons.core.edm.primitivetype package 
content, I see that:

  1. geo types (Edm.Geography, Edm.Geometry, etc) are missing
  2. Edm.Stream is missing
  3. EdmNull and Uint7 are not included in [1] (as noted in OLINGO-65)

Moreover, there are some V3 primitive types (Edm.DateTime, Edm.Float, 
Edm.Time) that I need to manage via EdmPrimitiveKind / 
EdmPrimitiveTypeKind so I was wondering whether it is the case to

  (a) implement missing types (including V3's) as SingletonPrimitiveType 
child classes in org.apache.olingo.commons.core.edm.primitivetype

  (b) add to EdmPrimitiveTypeKind a method for fetching the supported 
protocol versions

   List<ODataServiceVersion> getSupportedVersions();

   (c) add another static method to EdmPrimitiveTypeKind to be used as 
standard valueOf's replacement, that takes ODataServiceVersion into account:

   public static EdmPrimitiveTypeKind valueOf(ODataServiceVersion 
version, String value);

   (d) remove EdmNull and Uin7

WDYT?
If you agree, I'll extends OLINGO-65 with that above and proceed to 
implementation.

Regards.

[1] 
http://docs.oasis-open.org/odata/odata/v4.0/os/part3-csdl/odata-v4.0-os-part3-csdl.html#_Toc372793899

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