protected static Operation buildOperation(EdmFunction function, String id) { String fqn = function.getFullQualifiedName().getFullQualifiedNameAsString(); Operation operation = new Operation(); operation.setType(Operation.Type.FUNCTION);
protected static Operation buildOperation(EdmFunction function, String id) { String fqn = function.getFullQualifiedName().getFullQualifiedNameAsString(); Operation operation = new Operation(); operation.setType(Operation.Type.FUNCTION);
@Override @SuppressWarnings("unchecked") public <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getBoundFunctionInvokeRequest( final URI bindingParameterURI, final FullQualifiedName functionName, final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection, final Map<String, ClientValue> parameters) { final EdmFunction function = edmClient.getCachedEdm().getBoundFunction( functionName, bindingParameterTypeName, isBindingParameterCollection, parameters == null ? null : new ArrayList<String>(parameters.keySet())); if (function == null) { throw new IllegalArgumentException("Could not find Function for name " + functionName); } return (ODataInvokeRequest<RES>) getInvokeRequest(HttpMethod.GET, edmClient.newURIBuilder(bindingParameterURI.toASCIIString()). appendOperationCallSegment(function.getFullQualifiedName().toString()).build(), getResultReference(function.getReturnType()), parameters); }
@Override @SuppressWarnings("unchecked") public <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getBoundFunctionInvokeRequest( final URI bindingParameterURI, final FullQualifiedName functionName, final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection, final Map<String, ClientValue> parameters) { final EdmFunction function = edmClient.getCachedEdm().getBoundFunction( functionName, bindingParameterTypeName, isBindingParameterCollection, parameters == null ? null : new ArrayList<String>(parameters.keySet())); if (function == null) { throw new IllegalArgumentException("Could not find Function for name " + functionName); } return (ODataInvokeRequest<RES>) getInvokeRequest(HttpMethod.GET, edmClient.newURIBuilder(bindingParameterURI.toASCIIString()). appendOperationCallSegment(function.getFullQualifiedName().toString()).build(), getResultReference(function.getReturnType()), parameters); }
@Override public void validateMetadata(Edm edm) { Map<FullQualifiedName, EdmEntityType> edmEntityTypesMap = new HashMap<FullQualifiedName, EdmEntityType>(); Map<FullQualifiedName, EdmComplexType> edmComplexTypesMap = new HashMap<FullQualifiedName, EdmComplexType>(); Map<FullQualifiedName, EdmFunction> edmFunctionsMap = new HashMap<FullQualifiedName, EdmFunction>(); Map<FullQualifiedName, EdmEntityContainer> edmContainersMap = new HashMap<FullQualifiedName, EdmEntityContainer>(); Map<String, String> aliasNamespaceMap = new HashMap<String, String>(); List<EdmSchema> edmSchemas = edm.getSchemas(); for (EdmSchema edmSchema : edmSchemas) { List<EdmEntityType> edmEntityTypes = edmSchema.getEntityTypes(); for (EdmEntityType edmEntityType : edmEntityTypes) { edmEntityTypesMap.put(edmEntityType.getFullQualifiedName(), edmEntityType); } List<EdmComplexType> edmComplexTypes = edmSchema.getComplexTypes(); for (EdmComplexType edmComplexType : edmComplexTypes) { edmComplexTypesMap.put(edmComplexType.getFullQualifiedName(), edmComplexType); } List<EdmFunction> edmFunctions = edmSchema.getFunctions(); for (EdmFunction edmFunction : edmFunctions) { edmFunctionsMap.put(edmFunction.getFullQualifiedName(), edmFunction); } aliasNamespaceMap.put(edmSchema.getAlias(), edmSchema.getNamespace()); if (edmSchema.getEntityContainer() != null) { edmContainersMap.put(edmSchema.getEntityContainer().getFullQualifiedName(), edmSchema.getEntityContainer()); } } EdmTypeValidator edmTypeValidator = new EdmTypeValidator(aliasNamespaceMap, edmContainersMap, edmEntityTypesMap, edmComplexTypesMap, edmFunctionsMap); edmTypeValidator.validateEdm(); }
@Override public void validateMetadata(Edm edm) { Map<FullQualifiedName, EdmEntityType> edmEntityTypesMap = new HashMap<FullQualifiedName, EdmEntityType>(); Map<FullQualifiedName, EdmComplexType> edmComplexTypesMap = new HashMap<FullQualifiedName, EdmComplexType>(); Map<FullQualifiedName, EdmFunction> edmFunctionsMap = new HashMap<FullQualifiedName, EdmFunction>(); Map<FullQualifiedName, EdmEntityContainer> edmContainersMap = new HashMap<FullQualifiedName, EdmEntityContainer>(); Map<String, String> aliasNamespaceMap = new HashMap<String, String>(); List<EdmSchema> edmSchemas = edm.getSchemas(); for (EdmSchema edmSchema : edmSchemas) { List<EdmEntityType> edmEntityTypes = edmSchema.getEntityTypes(); for (EdmEntityType edmEntityType : edmEntityTypes) { edmEntityTypesMap.put(edmEntityType.getFullQualifiedName(), edmEntityType); } List<EdmComplexType> edmComplexTypes = edmSchema.getComplexTypes(); for (EdmComplexType edmComplexType : edmComplexTypes) { edmComplexTypesMap.put(edmComplexType.getFullQualifiedName(), edmComplexType); } List<EdmFunction> edmFunctions = edmSchema.getFunctions(); for (EdmFunction edmFunction : edmFunctions) { edmFunctionsMap.put(edmFunction.getFullQualifiedName(), edmFunction); } aliasNamespaceMap.put(edmSchema.getAlias(), edmSchema.getNamespace()); if (edmSchema.getEntityContainer() != null) { edmContainersMap.put(edmSchema.getEntityContainer().getFullQualifiedName(), edmSchema.getEntityContainer()); } } EdmTypeValidator edmTypeValidator = new EdmTypeValidator(aliasNamespaceMap, edmContainersMap, edmEntityTypesMap, edmComplexTypesMap, edmFunctionsMap); edmTypeValidator.validateEdm(); }
case CUSTOM_FUNCTION: json.writeStringField("name", ((CustomFunction) item).getFunction().getFullQualifiedName().getFullQualifiedNameAsString()); appendParameters(json, "parameters", ((CustomFunction) item).getParameters()); break;
result.append(','); result.append(Encoder.encode(function.getFullQualifiedName().getFullQualifiedNameAsString()));
result.append(','); result.append(Encoder.encode(function.getFullQualifiedName().getFullQualifiedNameAsString()));
case CUSTOM_FUNCTION: json.writeStringField("name", ((CustomFunction) item).getFunction().getFullQualifiedName().getFullQualifiedNameAsString()); appendParameters(json, "parameters", ((CustomFunction) item).getParameters()); break;
} else { boundOp = new ClientOperation(); boundOp.setMetadataAnchor(func.getFullQualifiedName().toString()); boundOp.setTitle(boundOp.getMetadataAnchor()); boundOp.setTarget(URI.create(entityURI.toASCIIString() + "/" + (useOperationFQN ? func.getFullQualifiedName().toString() : operation.name())));
} else { boundOp = new ClientOperation(); boundOp.setMetadataAnchor(func.getFullQualifiedName().toString()); boundOp.setTitle(boundOp.getMetadataAnchor()); boundOp.setTarget(URI.create(entityURI.toASCIIString() + "/" + (useOperationFQN ? func.getFullQualifiedName().toString() : operation.name())));