Hi,
after successfully merging V3 (de)serializers and request / response
handling in the olingo200 branch - this means that the former engine
layer of ODataJClient has been completely ported - I am now starting on
this issue before finalizing the V4 (de)serializers.
This will allow to finally remove the former ODataJClient's type management.
About "Move Uint7 and EdmNull to server core", I have just noticed that
Uint7 is referenced by many other primitive types (in isCompatible()),
so I cannot move it to server-core.
Shall I leave Uin7 in commons-core and just *remove* EdmNull (it seems
no class is referring to it) or instead moving it to server-core?
Regards.
On 11/03/2014 10:01, Amend, Christian wrote:
Hi Francesco,
I will update Olingo-65. If you would take on the implementation that would be
great!
Best Regards,
Christian
-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
Sent: Dienstag, 11. März 2014 09:35
To: dev@olingo.incubator.apache.org
Subject: Re: [DISCUSS] Primitive types
On 11/03/2014 09:27, Amend, Christian wrote:
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.
Fine.
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.
Another issue?
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?
Sounds reasonable, yes.
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?
Again, this sounds reasonable as well.
If you want to open issue(s) (or update OLINGO-65) for all items above,
I am available to take the implementation: we need to move from
ODataJClient's type management to Olingo's but, for this purpose, all
the enhancements above needs to be in place.
Regards.
-----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/