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