test_class.declarator: beforeFunctionCallHasBeenCall = new AtomicBoolean(false)
test_class.original_string: AtomicBoolean beforeFunctionCallHasBeenCall = new AtomicBoolean(false);
test_class.type: AtomicBoolean
test_class.var_name: beforeFunctionCallHasBeenCall
test_class.declarator: functionCallTimeout = 985
test_class.original_string: int functionCallTimeout = 985;
test_class.type: int
test_class.var_name: functionCallTimeout
test_class.file: step-functions/step-functions-client/src/test/java/step/functions/execution/FunctionExecutionServiceImplTest.java
test_class.identifier: FunctionExecutionServiceImplTest
test_case.body: @Test
  	public void testReserveError() {
  		FunctionExecutionService f = getFunctionExecutionServiceForGridClientTest(null, null, new AgentCommunicationException("Reserve error"), null);
  		
  		FunctionExecutionServiceException e = null;
  		try {
  			f.getTokenHandle(new HashMap<>(), new HashMap<>(), true, null);
  		} catch (FunctionExecutionServiceException e1) {
  			e = e1;
  		}
  		Assert.assertNotNull(e);
  		Assert.assertEquals("Communication error between the controller and the agent while reserving the agent token", e.getMessage());
  	}
test_case.class_method_signature: FunctionExecutionServiceImplTest.testReserveError()
test_case.full_signature: @Test public void testReserveError()
test_case.identifier: testReserveError
test_case.invocations: getFunctionExecutionServiceForGridClientTest getTokenHandle assertNotNull assertEquals getMessage
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testReserveError()
focal_class.declarator: gridClient
focal_class.modifier: private final
focal_class.original_string: private final GridClient gridClient;
focal_class.type: GridClient
focal_class.var_name: gridClient
focal_class.declarator: functionTypeRegistry
focal_class.modifier: private final
focal_class.original_string: private final FunctionTypeRegistry functionTypeRegistry;
focal_class.type: FunctionTypeRegistry
focal_class.var_name: functionTypeRegistry
focal_class.declarator: dynamicBeanResolver
focal_class.modifier: private final
focal_class.original_string: private final DynamicBeanResolver dynamicBeanResolver;
focal_class.type: DynamicBeanResolver
focal_class.var_name: dynamicBeanResolver
focal_class.declarator: functionHandlerPackage
focal_class.modifier: private final
focal_class.original_string: private final FileVersionId functionHandlerPackage;
focal_class.type: FileVersionId
focal_class.var_name: functionHandlerPackage
focal_class.declarator: mapper
focal_class.modifier: private final
focal_class.original_string: private final ObjectMapper mapper;
focal_class.type: ObjectMapper
focal_class.var_name: mapper
focal_class.declarator: KEYWORD_NAME_PROP = "$keywordName"
focal_class.modifier: private static final
focal_class.original_string: private static final String KEYWORD_NAME_PROP = "$keywordName";
focal_class.type: String
focal_class.var_name: KEYWORD_NAME_PROP
focal_class.declarator: KEYWORD_TIMEOUT_PROP = "$keywordTimeout"
focal_class.modifier: private static final
focal_class.original_string: private static final String KEYWORD_TIMEOUT_PROP = "$keywordTimeout";
focal_class.type: String
focal_class.var_name: KEYWORD_TIMEOUT_PROP
focal_class.declarator: logger = LoggerFactory.getLogger(FunctionExecutionServiceImpl.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(FunctionExecutionServiceImpl.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.file: step-functions/step-functions-client/src/main/java/step/functions/execution/FunctionExecutionServiceImpl.java
focal_class.identifier: FunctionExecutionServiceImpl
focal_class.interfaces: implements FunctionExecutionService
focal_class.class_method_signature: FunctionExecutionServiceImpl.FunctionExecutionServiceImpl(GridClient gridClient, FunctionTypeRegistry functionTypeRegistry, DynamicBeanResolver dynamicBeanResolver)
focal_class.full_signature: public  FunctionExecutionServiceImpl(GridClient gridClient, FunctionTypeRegistry functionTypeRegistry, DynamicBeanResolver dynamicBeanResolver)
focal_class.identifier: FunctionExecutionServiceImpl
focal_class.modifiers: public
focal_class.parameters: (GridClient gridClient, FunctionTypeRegistry functionTypeRegistry, DynamicBeanResolver dynamicBeanResolver)
focal_class.signature:  FunctionExecutionServiceImpl(GridClient gridClient, FunctionTypeRegistry functionTypeRegistry, DynamicBeanResolver dynamicBeanResolver)
focal_class.class_method_signature: FunctionExecutionServiceImpl.getLocalTokenHandle()
focal_class.full_signature: @Override public TokenWrapper getLocalTokenHandle()
focal_class.identifier: getLocalTokenHandle
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: TokenWrapper
focal_class.signature: TokenWrapper getLocalTokenHandle()
focal_class.class_method_signature: FunctionExecutionServiceImpl.getTokenHandle(Map<String, String> attributes, Map<String, Interest> interests, boolean createSession, TokenWrapperOwner tokenWrapperOwner)
focal_class.full_signature: @Override public TokenWrapper getTokenHandle(Map<String, String> attributes, Map<String, Interest> interests, boolean createSession, TokenWrapperOwner tokenWrapperOwner)
focal_class.identifier: getTokenHandle
focal_class.modifiers: @Override public
focal_class.parameters: (Map<String, String> attributes, Map<String, Interest> interests, boolean createSession, TokenWrapperOwner tokenWrapperOwner)
focal_class.return: TokenWrapper
focal_class.signature: TokenWrapper getTokenHandle(Map<String, String> attributes, Map<String, Interest> interests, boolean createSession, TokenWrapperOwner tokenWrapperOwner)
focal_class.class_method_signature: FunctionExecutionServiceImpl.returnTokenHandle(String tokenHandleId)
focal_class.full_signature: @Override public void returnTokenHandle(String tokenHandleId)
focal_class.identifier: returnTokenHandle
focal_class.modifiers: @Override public
focal_class.parameters: (String tokenHandleId)
focal_class.return: void
focal_class.signature: void returnTokenHandle(String tokenHandleId)
focal_class.class_method_signature: FunctionExecutionServiceImpl.callFunction(String tokenHandleId, Function function, FunctionInput<IN> functionInput, Class<OUT> outputClass)
focal_class.full_signature: @Override public Output<OUT> callFunction(String tokenHandleId, Function function, FunctionInput<IN> functionInput, Class<OUT> outputClass)
focal_class.identifier: callFunction
focal_class.modifiers: @Override public
focal_class.parameters: (String tokenHandleId, Function function, FunctionInput<IN> functionInput, Class<OUT> outputClass)
focal_class.return: Output<OUT>
focal_class.signature: Output<OUT> callFunction(String tokenHandleId, Function function, FunctionInput<IN> functionInput, Class<OUT> outputClass)
focal_class.class_method_signature: FunctionExecutionServiceImpl.newAgentError(String message)
focal_class.full_signature: private Error newAgentError(String message)
focal_class.identifier: newAgentError
focal_class.modifiers: private
focal_class.parameters: (String message)
focal_class.return: Error
focal_class.signature: Error newAgentError(String message)
focal_class.class_method_signature: FunctionExecutionServiceImpl.registerFile(File file, String properyName)
focal_class.full_signature: protected Map<String, String> registerFile(File file, String properyName)
focal_class.identifier: registerFile
focal_class.modifiers: protected
focal_class.parameters: (File file, String properyName)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> registerFile(File file, String properyName)
focal_class.class_method_signature: FunctionExecutionServiceImpl.fileVersionIdToMap(String propertyName, FileVersionId fileVersionId)
focal_class.full_signature: protected Map<String, String> fileVersionIdToMap(String propertyName, FileVersionId fileVersionId)
focal_class.identifier: fileVersionIdToMap
focal_class.modifiers: protected
focal_class.parameters: (String propertyName, FileVersionId fileVersionId)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> fileVersionIdToMap(String propertyName, FileVersionId fileVersionId)
focal_class.class_method_signature: FunctionExecutionServiceImpl.attachUnexpectedExceptionToOutput(Output<?> output, Exception e)
focal_class.full_signature: private void attachUnexpectedExceptionToOutput(Output<?> output, Exception e)
focal_class.identifier: attachUnexpectedExceptionToOutput
focal_class.modifiers: private
focal_class.parameters: (Output<?> output, Exception e)
focal_class.return: void
focal_class.signature: void attachUnexpectedExceptionToOutput(Output<?> output, Exception e)
focal_class.class_method_signature: FunctionExecutionServiceImpl.attachUnexpectedExceptionToOutput(Output<?> output, String message, Exception e)
focal_class.full_signature: private void attachUnexpectedExceptionToOutput(Output<?> output, String message, Exception e)
focal_class.identifier: attachUnexpectedExceptionToOutput
focal_class.modifiers: private
focal_class.parameters: (Output<?> output, String message, Exception e)
focal_class.return: void
focal_class.signature: void attachUnexpectedExceptionToOutput(Output<?> output, String message, Exception e)
focal_class.class_method_signature: FunctionExecutionServiceImpl.attachExceptionToOutput(Output<?> output, Exception e)
focal_class.full_signature: private void attachExceptionToOutput(Output<?> output, Exception e)
focal_class.identifier: attachExceptionToOutput
focal_class.modifiers: private
focal_class.parameters: (Output<?> output, Exception e)
focal_class.return: void
focal_class.signature: void attachExceptionToOutput(Output<?> output, Exception e)
focal_method.body: @Override
  	public TokenWrapper getTokenHandle(Map<String, String> attributes, Map<String, Interest> interests, boolean createSession, TokenWrapperOwner tokenWrapperOwner) throws FunctionExecutionServiceException {
  		try {
  			return gridClient.getTokenHandle(attributes, interests, createSession, tokenWrapperOwner);
  		} catch (AgentCallTimeoutException e) {
  			throw new FunctionExecutionServiceException("Timeout after "+e.getCallTimeout()+"ms while reserving the agent token. You can increase the call timeout by setting 'grid.client.token.reserve.timeout.ms' in step.properties",e );
  		} catch (AgentSideException e) {
  			throw new FunctionExecutionServiceException("Unexepected error on the agent side while reserving the agent token: "+e.getMessage(),e);
  		} catch (AgentCommunicationException e) {
  			throw new FunctionExecutionServiceException("Communication error between the controller and the agent while reserving the agent token",e);
  		} 
  	}
focal_method.class_method_signature: FunctionExecutionServiceImpl.getTokenHandle(Map<String, String> attributes, Map<String, Interest> interests, boolean createSession, TokenWrapperOwner tokenWrapperOwner)
focal_method.full_signature: @Override public TokenWrapper getTokenHandle(Map<String, String> attributes, Map<String, Interest> interests, boolean createSession, TokenWrapperOwner tokenWrapperOwner)
focal_method.identifier: getTokenHandle
focal_method.invocations: getTokenHandle getCallTimeout getMessage
focal_method.modifiers: @Override public
focal_method.parameters: (Map<String, String> attributes, Map<String, Interest> interests, boolean createSession, TokenWrapperOwner tokenWrapperOwner)
focal_method.return: TokenWrapper
focal_method.signature: TokenWrapper getTokenHandle(Map<String, String> attributes, Map<String, Interest> interests, boolean createSession, TokenWrapperOwner tokenWrapperOwner)