@Override @SuppressWarnings("unchecked") public <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getFunctionImportInvokeRequest( final String functionImportName, final Map<String, ClientValue> parameters) { EdmFunctionImport efi = null; for (EdmSchema schema : edmClient.getCachedEdm().getSchemas()) { final EdmEntityContainer container = schema.getEntityContainer(); if (container != null) { efi = container.getFunctionImport(functionImportName); } } if (efi == null) { throw new IllegalArgumentException("Could not find FunctionImport for name " + functionImportName); } final EdmFunction function = edmClient.getCachedEdm(). getUnboundFunction(efi.getFunctionFqn(), parameters == null ? null : new ArrayList<String>(parameters.keySet())); if (function == null) { throw new IllegalArgumentException("Could not find Function " + efi.getFunctionFqn()); } return (ODataInvokeRequest<RES>) getInvokeRequest(HttpMethod.GET, edmClient.newURIBuilder().appendOperationCallSegment(functionImportName).build(), getResultReference(function.getReturnType()), parameters); }
@Override @SuppressWarnings("unchecked") public <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getFunctionImportInvokeRequest( final String functionImportName, final Map<String, ClientValue> parameters) { EdmFunctionImport efi = null; for (EdmSchema schema : edmClient.getCachedEdm().getSchemas()) { final EdmEntityContainer container = schema.getEntityContainer(); if (container != null) { efi = container.getFunctionImport(functionImportName); } } if (efi == null) { throw new IllegalArgumentException("Could not find FunctionImport for name " + functionImportName); } final EdmFunction function = edmClient.getCachedEdm(). getUnboundFunction(efi.getFunctionFqn(), parameters == null ? null : new ArrayList<String>(parameters.keySet())); if (function == null) { throw new IllegalArgumentException("Could not find Function " + efi.getFunctionFqn()); } return (ODataInvokeRequest<RES>) getInvokeRequest(HttpMethod.GET, edmClient.newURIBuilder().appendOperationCallSegment(functionImportName).build(), getResultReference(function.getReturnType()), parameters); }
private Map.Entry<URI, EdmOperation> getUnboundOperation( final Operation operation, final List<String> parameterNames) { final EdmEntityContainer container = getClient().getCachedEdm().getEntityContainer(targetFQN); final EdmOperation edmOperation; if (operation.type() == OperationType.FUNCTION) { edmOperation = container.getFunctionImport(operation.name()).getUnboundFunction(parameterNames); } else { edmOperation = container.getActionImport(operation.name()).getUnboundAction(); } final URIBuilder uriBuilder = getClient().newURIBuilder(). appendOperationCallSegment(edmOperation.getName()); return new AbstractMap.SimpleEntry<URI, EdmOperation>(uriBuilder.build(), edmOperation); }
private Map.Entry<URI, EdmOperation> getUnboundOperation( final Operation operation, final List<String> parameterNames) { final EdmEntityContainer container = getClient().getCachedEdm().getEntityContainer(targetFQN); final EdmOperation edmOperation; if (operation.type() == OperationType.FUNCTION) { edmOperation = container.getFunctionImport(operation.name()).getUnboundFunction(parameterNames); } else { edmOperation = container.getActionImport(operation.name()).getUnboundAction(); } final URIBuilder uriBuilder = getClient().newURIBuilder(). appendOperationCallSegment(edmOperation.getName()); return new AbstractMap.SimpleEntry<URI, EdmOperation>(uriBuilder.build(), edmOperation); }
final EdmFunctionImport edmFunctionImport = edmEntityContainer.getFunctionImport(oDataIdentifier); if (edmFunctionImport != null) { return functionCall(edmFunctionImport, null, null, false);
final EdmFunctionImport edmFunctionImport = edmEntityContainer.getFunctionImport(oDataIdentifier); if (edmFunctionImport != null) { return functionCall(edmFunctionImport, null, null, false);