On 07/04/2014 13:55, Amend, Christian wrote:
Yes that is what I meant.
I made the change and pushed it. So you can go ahead and merge once you are
ready.
Branch merged to master and deleted; I've added the two commits as
comment OLINGO-202 (being the automated service not active yet): guess
OLINGO-202 can be resolved, right?
Regards.
-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
Sent: Montag, 7. April 2014 13:49
To: dev@olingo.apache.org
Subject: Re: [DISCUSS] EdmEntityContainer: getActionImport(String) /
getFunctionImport(String)
On 07/04/2014 13:44, Amend, Christian wrote:
Hi Francesco,
Looks good except for one thing in the AbstractEdm class:
Calling the getUnboundFunction(...) method delivers one unbound function which
gets added to the unboundFunctionsByName HashMap. If I now call
getUnboundFunctions() I will only get the list which has been filled with the
one function I previously fetched. If I call getUnboundFunctions and then
getUnboundFunction(...) this issue is not present since both maps have been
correctly filled.
I would either disable the caching by name for querying a single function or I
would introduce a loaded flag which gets only set after all unbound functions
have been loaded.
You are right: are you suggesting to just remove line 294 (e.g. caching
for unboundFunctionsByName when calling getUnboundFunction(...)? If so,
I am +1.
Regards.
-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
Sent: Montag, 7. April 2014 13:23
To: dev@olingo.apache.org
Subject: Re: [DISCUSS] EdmEntityContainer: getActionImport(String) /
getFunctionImport(String)
Hi,
I have updated OLINGO-202's description according to the discussion
below and just pushed the olingo202 branch with OLINGO-202
implementation: please let me know if this is fine and can be merged to
master.
Regards.
On 07/04/2014 12:36, Amend, Christian wrote:
Hi,
1. Yes
2. Yes
3. Yes :)
As for getFunctionFQN: I needed this method during the metadata serialization
since I do not have any parameters and thus could not call the method. So for
now I would leave it there. Overloading is based on Parameters while the name
stays the same.
Best Regards,
Christian
-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
Sent: Montag, 7. April 2014 11:36
To: dev@olingo.apache.org
Subject: Re: [DISCUSS] EdmEntityContainer: getActionImport(String) /
getFunctionImport(String)
Hi,
as suggested by Ralf, since "Unbound actions currently cannot have
overloads", I will perform the following changes:
1. in EdmActionImport
REMOVE getBoundAction(...)
2. in EdmFunctionImport
REMOVE getBoundFunction(...)
ADD List<EdmFunction> getUnboundFunctions()
OLINGO-202 description says instead "Introduce the getActions and
getFunctions method which will deliver all UNBOUND actions and functions
with the specified name" which would suggest to also
ADD List<EdmAction> getUnboundActions()
in EdmActionImport
Correct?
What about EdmFunctionImport's
FullQualifiedName getFunctionFqn()
?
Regards.
On 07/04/2014 10:43, Francesco Chicchiriccò wrote:
On 07/04/2014 10:34, Amend, Christian wrote:
Yes this is ok for me.
Why don`t you open a new branch make the interfaces and client side
and I will then look at the server side.
You can use this Jira issue as a reference:
https://issues.apache.org/jira/browse/OLINGO-202
Fine; I have also linked OLINGO-234 to OLINGO-202.
Regards.
-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
Sent: Montag, 7. April 2014 10:31
To: dev@olingo.apache.org
Subject: Re: [DISCUSS] EdmEntityContainer: getActionImport(String) /
getFunctionImport(String)
On 07/04/2014 10:28, Amend, Christian wrote:
Hi Ralf,
thank you very much for the clarification!
@ Francesco:
This means for us:
1. Delete the get boundFunction and getBoundAction method.
2. Maybe introduce a getActions method which delivers all unbound
Actions for this this name. Same goes fur Functions.
I can do both things straight away, if this is fine for you (I would
possibly need some guidance for server-side implementation).
Regards.
-----Original Message-----
From: Handl, Ralf [mailto:ralf.ha...@sap.com]
Sent: Montag, 7. April 2014 10:24
To: dev@olingo.apache.org
Subject: RE: [DISCUSS] EdmEntityContainer: getActionImport(String) /
getFunctionImport(String)
Hi Christian and Francesco,
There's no way to import a single function overload, the
FunctionImport element imports all overloads into the entity
container. It also only allows importing unbound function overloads,
see
http://docs.oasis-open.org/odata/odata/v4.0/os/part3-csdl/odata-v4.0-os-part3-csdl.html#_Toc372794000.
The ActionImport element also only imports an unbound action.
Unbound actions currently cannot have overloads, because overloads
must have the same binding parameter, and unbound actions don't have
one, see
http://docs.oasis-open.org/odata/odata/v4.0/os/part3-csdl/odata-v4.0-os-part3-csdl.html#_Toc372793963.
Thanks!
--Ralf
-----Original Message-----
From: Amend, Christian [mailto:christian.am...@sap.com]
Sent: Monday, 7. April 2014 10:13
To: dev@olingo.apache.org
Subject: FW: [DISCUSS] EdmEntityContainer: getActionImport(String) /
getFunctionImport(String)
Hi Francesco,
I have forwarded this message to the dev list :)
ActionImports and FunctionImports have an operation specified by
FullQualified Name. The Overloading happens based on Parameters when
they are called. So giving back a list of ActionImports would not
make sense but rather adding a method at the ActionImport like this
List<EdmAction> getActions(). This way a client can decide which
Action he wants to invoke. Same goes for FunctionImport.
As far as I know there is no way to bind a single Action directly to
an ActionImport again same goes for Functions and FunctionImports.
As for the methods getBoundAction/getUnbound at the ActionImport I
have to look into this. As far as I know only unbound Actions can
serve for an Action Import. I don`t know who introduced this
methods. For Functions I will have to look into this as well.
Best Regards,
Christian
-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
Sent: Montag, 7. April 2014 09:42
To: d...@olingo.incubator.apache.org
Subject: Re: [DISCUSS] EdmEntityContainer: getActionImport(String) /
getFunctionImport(String)
On 07/04/2014 09:24, Francesco Chicchiriccò wrote:
Hi all,
as part of OLINGO-234 I am now considering some scenarios where action
and / or functions are overloaded.
I have just noticed that the EdmEntityContainer container has the
following two methods:
EdmActionImport getActionImport(String name);
EdmFunctionImport getFunctionImport(String name);
I would have expected, though, something like as
List<EdmActionImport> getActionImport(String name);
List<EdmFunctionImport> getFunctionImport(String name);
Am I wrong?
I have also just noticed that both EdmActionImport and
EdmFunctionImport
have methods like as getUnboundFunction() / getUnboundAction() -
getBoundFunction() / getBoundAction() (they actually used to have plain
getAction() / getFunction()): this suggests that from a single
ActionImport / FunctionImport one can get to all actions / functions
with given name.
Isn't there a way to bound an ActionImport / FunctionImport to a single
Action / Function?
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC, Olingo PMC
http://people.apache.org/~ilgrosso/