Alex created OLINGO-629:
---------------------------
Summary: No support for ENTITY for EdmMultiplicity.MANY in
FunctionImport
Key: OLINGO-629
URL: https://issues.apache.org/jira/browse/OLINGO-629
Project: Olingo
Issue Type: Bug
Components: odata2-core
Affects Versions: V2 2.0.3
Reporter: Alex
Priority: Blocker
We have a client that consumes OData by calling functions like search() that
should return a list of entities
<FunctionImport Name="Search" ReturnType="Collection(Feed.Bundle)"
EntitySet="Bundles" m:HttpMethod="GET">
<Parameter Name="searchTerm" Type="Edm.String"/>
</FunctionImport>
the FunctionImport declared as
List<FunctionImportParameter> parameters = new ArrayList<>();
parameters.add(new
FunctionImportParameter().setName("searchTerm").setType(EdmSimpleTypeKind.String));
return new FunctionImport().setName(name)
.setParameters(parameters)
.setReturnType(new
ReturnType().setTypeName(ENTITY_TYPE_FEED_BUNDLE).setMultiplicity(EdmMultiplicity.MANY))
.setEntitySet(ENTITY_SET_NAME_BUNDLES)
.setHttpMethod(ODataHttpMethod.GET.name());
When I do EntityProvider.writeFunctionImport(... i got exception that Array
cannot be converted to Map.
I looked through the code and there are no support for serializing entities in
function import
https://github.com/apache/olingo-odata2/blob/6fd6f064d5d8ed97cd914b1378e988655270533a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/AtomEntityProvider.java#L343
by the way, other code rely on that feature, for example
https://github.com/apache/olingo-odata2/blob/2636dd5f79186003b9d1087ed03586efd7687f24/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/ODataJPAResponseBuilderDefault.java#L317
it won't work
Is that expected behavior or just not implemented yet?
the client uses MS implementation of OData maybe returning entities is not a
standard feature but anyway jpa builder will fail too
please advise any solutions (i also consider to write servlet filter and
process function imports manually..)
thanks,
alex
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)