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/