private ExecutionContextDataSource buildExecutionContext()

in src/main/java/com/microsoft/azure/functions/worker/broker/JavaFunctionBroker.java [202:230]


	private ExecutionContextDataSource buildExecutionContext(String id,  InvocationRequest request)
			throws NoSuchMethodException {
		ImmutablePair<String, FunctionDefinition> methodEntry = this.methods.get(id);
		FunctionDefinition functionDefinition = methodEntry.right;
		if (functionDefinition == null) {
			throw new NoSuchMethodException("Cannot find method with ID \"" + id + "\"");
		}
		BindingDataStore dataStore = new BindingDataStore();
		dataStore.setBindingDefinitions(functionDefinition.getBindingDefinitions());
		dataStore.addTriggerMetadataSource(getTriggerMetadataMap(request));
		dataStore.addParameterSources(request.getInputDataList());
		ExecutionTraceContext traceContext = new ExecutionTraceContext(request.getTraceContext().getTraceParent(),
				request.getTraceContext().getTraceState(), request.getTraceContext().getAttributesMap());
		ExecutionRetryContext retryContext = new ExecutionRetryContext(request.getRetryContext().getRetryCount(),
				request.getRetryContext().getMaxRetryCount(), request.getRetryContext().getException());
		ExecutionContextDataSource executionContextDataSource = new ExecutionContextDataSource(
				request.getInvocationId(),
				traceContext,
				retryContext,
				methodEntry.left,
				dataStore,
				functionDefinition.getCandidate(),
				functionDefinition.getContainingClass(),
				request.getInputDataList(),
				this.functionInstanceInjector,
				this.workerObjectCache);
		dataStore.addExecutionContextSource(executionContextDataSource);
		return executionContextDataSource;
	}