You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "mibo (Jira)" <ji...@apache.org> on 2022/03/09 20:52:00 UTC
[jira] [Updated] (OLINGO-1492) Function & Action returning an enum throw an exception during dispatching
[ https://issues.apache.org/jira/browse/OLINGO-1492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
mibo updated OLINGO-1492:
-------------------------
Fix Version/s: (Java) V4 4.10.0
(was: (Java) V4 4.9.0)
> Function & Action returning an enum throw an exception during dispatching
> -------------------------------------------------------------------------
>
> Key: OLINGO-1492
> URL: https://issues.apache.org/jira/browse/OLINGO-1492
> Project: Olingo
> Issue Type: Bug
> Components: odata4-server
> Affects Versions: (Java) V4 4.8.0, (Java) V4 4.9.0
> Reporter: Boris Fierlings
> Priority: Major
> Labels: olingo
> Fix For: (Java) V4 4.10.0
>
> Attachments: OLINGO1492.patch
>
>
> org.apache.olingo.server.core.ODataDispatcher throws a ODataHandlerException(NOT_IMPLEMENTED_MESSAGE, ODataHandlerException.MessageKeys.FUNCTIONALITY_NOT_IMPLEMENTED) when dispatching a function or action which is returning an enum.
> Adding a "case ENUM:" in function handleFunctionDispatching like this:
> {noformat}
> private void handleFunctionDispatching(final ODataRequest request, final ODataResponse response,
> final UriResourceFunction uriResourceFunction) throws ODataApplicationException, ODataLibraryException
> {
> EdmFunction function = uriResourceFunction.getFunction();
> if (function == null)
> {
> function = uriResourceFunction.getFunctionImport().getUnboundFunctions().get(0);
> }
> final EdmReturnType returnType = function.getReturnType();
> switch (returnType.getType().getKind())
> {
> case ENTITY:
> handleEntityDispatching(request, response,
> returnType.isCollection() && uriResourceFunction.getKeyPredicates().isEmpty(), false);
> break;
> case PRIMITIVE:
> case ENUM:
> handlePrimitiveDispatching(request, response, returnType.isCollection());
> break;
> case COMPLEX:
> handleComplexDispatching(request, response, returnType.isCollection());
> break;
> default:
> throw new ODataHandlerException(NOT_IMPLEMENTED_MESSAGE,
> ODataHandlerException.MessageKeys.FUNCTIONALITY_NOT_IMPLEMENTED);
> }
> }
> {noformat}
> and similar in function {color:#172b4d}handleActionDispatching {color}solves the problem.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)