test_class.declarator: ARGUMENT_VALUE = "to be or not to be"
test_class.modifier: private static final
test_class.original_string: private static final String ARGUMENT_VALUE = "to be or not to be";
test_class.type: String
test_class.var_name: ARGUMENT_VALUE
test_class.declarator: ARGUMENT_CLASS = String.class
test_class.modifier: private static final
test_class.original_string: private static final Class  ARGUMENT_CLASS = String.class;
test_class.type: Class
test_class.var_name: ARGUMENT_CLASS
test_class.declarator: RESOURCE_PATH  = "/a/b"
test_class.modifier: private static final
test_class.original_string: private static final String RESOURCE_PATH  = "/a/b";
test_class.type: String
test_class.var_name: RESOURCE_PATH
test_class.declarator: thrown = ExpectedException.none()
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public ExpectedException thrown = ExpectedException.none();
test_class.type: ExpectedException
test_class.var_name: thrown
test_class.declarator: parameterResolverFactory
test_class.modifier: private
test_class.original_string: private ParameterResolverFactory  parameterResolverFactory;
test_class.type: ParameterResolverFactory
test_class.var_name: parameterResolverFactory
test_class.declarator: resourceMethod
test_class.modifier: private
test_class.original_string: private GenericResourceMethod     resourceMethod;
test_class.type: GenericResourceMethod
test_class.var_name: resourceMethod
test_class.declarator: entityParameter
test_class.modifier: private
test_class.original_string: private Parameter                 entityParameter;
test_class.type: Parameter
test_class.var_name: entityParameter
test_class.declarator: parameterAnnotation
test_class.modifier: private
test_class.original_string: private Annotation                parameterAnnotation;
test_class.type: Annotation
test_class.var_name: parameterAnnotation
test_class.declarator: annotatedParameter
test_class.modifier: private
test_class.original_string: private Parameter                 annotatedParameter;
test_class.type: Parameter
test_class.var_name: annotatedParameter
test_class.declarator: parameterResolver
test_class.modifier: private
test_class.original_string: private ParameterResolver         parameterResolver;
test_class.type: ParameterResolver
test_class.var_name: parameterResolver
test_class.declarator: applicationContext
test_class.modifier: private
test_class.original_string: private ApplicationContext        applicationContext;
test_class.type: ApplicationContext
test_class.var_name: applicationContext
test_class.declarator: messageBodyReader
test_class.modifier: private
test_class.original_string: private MessageBodyReader<String> messageBodyReader;
test_class.type: MessageBodyReader<String>
test_class.var_name: messageBodyReader
test_class.declarator: methodInvoker
test_class.modifier: private
test_class.original_string: private DefaultMethodInvoker      methodInvoker;
test_class.type: DefaultMethodInvoker
test_class.var_name: methodInvoker
test_class.file: everrest-core/src/test/java/org/everrest/core/impl/method/DefaultMethodInvokerTest.java
test_class.identifier: DefaultMethodInvokerTest
test_case.body: @Test
      public void wrapsExceptionThatOccursWhenReadEntityParameterWithInternalException() throws Exception {
          Exception thrownByMessageBodyReader = new IOException();
          when(messageBodyReader.readFrom((Class)entityParameter.getParameterClass(),
                                          entityParameter.getGenericType(),
                                          entityParameter.getAnnotations(),
                                          applicationContext.getContainerRequest().getMediaType(),
                                          applicationContext.getContainerRequest().getRequestHeaders(),
                                          applicationContext.getContainerRequest().getEntityStream())).thenThrow(thrownByMessageBodyReader);
  
          when(resourceMethod.getMethodParameters()).thenReturn(newArrayList(entityParameter));
  
          thrown.expect(InternalException.class);
          thrown.expectCause(exceptionSameInstanceMatcher(thrownByMessageBodyReader));
  
          methodInvoker.invokeMethod(new EchoResource(), resourceMethod, applicationContext);
      }
test_case.class_method_signature: DefaultMethodInvokerTest.wrapsExceptionThatOccursWhenReadEntityParameterWithInternalException()
test_case.full_signature: @Test public void wrapsExceptionThatOccursWhenReadEntityParameterWithInternalException()
test_case.identifier: wrapsExceptionThatOccursWhenReadEntityParameterWithInternalException
test_case.invocations: thenThrow when readFrom getParameterClass getGenericType getAnnotations getMediaType getContainerRequest getRequestHeaders getContainerRequest getEntityStream getContainerRequest thenReturn when getMethodParameters newArrayList expect expectCause exceptionSameInstanceMatcher invokeMethod
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void wrapsExceptionThatOccursWhenReadEntityParameterWithInternalException()
focal_class.declarator: LOG = LoggerFactory.getLogger(DefaultMethodInvoker.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(DefaultMethodInvoker.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: parameterResolverFactory
focal_class.modifier: private final
focal_class.original_string: private final ParameterResolverFactory parameterResolverFactory;
focal_class.type: ParameterResolverFactory
focal_class.var_name: parameterResolverFactory
focal_class.file: everrest-core/src/main/java/org/everrest/core/impl/method/DefaultMethodInvoker.java
focal_class.identifier: DefaultMethodInvoker
focal_class.interfaces: implements MethodInvoker
focal_class.class_method_signature: DefaultMethodInvoker.DefaultMethodInvoker(ParameterResolverFactory parameterResolverFactory)
focal_class.full_signature: public  DefaultMethodInvoker(ParameterResolverFactory parameterResolverFactory)
focal_class.identifier: DefaultMethodInvoker
focal_class.modifiers: public
focal_class.parameters: (ParameterResolverFactory parameterResolverFactory)
focal_class.signature:  DefaultMethodInvoker(ParameterResolverFactory parameterResolverFactory)
focal_class.class_method_signature: DefaultMethodInvoker.invokeMethod(Object resource, GenericResourceMethod methodResource, ApplicationContext context)
focal_class.full_signature: @Override public final Object invokeMethod(Object resource, GenericResourceMethod methodResource, ApplicationContext context)
focal_class.identifier: invokeMethod
focal_class.modifiers: @Override public final
focal_class.parameters: (Object resource, GenericResourceMethod methodResource, ApplicationContext context)
focal_class.return: Object
focal_class.signature: Object invokeMethod(Object resource, GenericResourceMethod methodResource, ApplicationContext context)
focal_class.class_method_signature: DefaultMethodInvoker.makeMethodParameters(GenericResourceMethod resourceMethod, ApplicationContext context)
focal_class.full_signature: @SuppressWarnings({"unchecked"}) private Object[] makeMethodParameters(GenericResourceMethod resourceMethod, ApplicationContext context)
focal_class.identifier: makeMethodParameters
focal_class.modifiers: @SuppressWarnings({"unchecked"}) private
focal_class.parameters: (GenericResourceMethod resourceMethod, ApplicationContext context)
focal_class.return: Object[]
focal_class.signature: Object[] makeMethodParameters(GenericResourceMethod resourceMethod, ApplicationContext context)
focal_class.class_method_signature: DefaultMethodInvoker.beforeInvokeMethod(Object resource, GenericResourceMethod methodResource, Object[] params, ApplicationContext context)
focal_class.full_signature: protected void beforeInvokeMethod(Object resource, GenericResourceMethod methodResource, Object[] params, ApplicationContext context)
focal_class.identifier: beforeInvokeMethod
focal_class.modifiers: protected
focal_class.parameters: (Object resource, GenericResourceMethod methodResource, Object[] params, ApplicationContext context)
focal_class.return: void
focal_class.signature: void beforeInvokeMethod(Object resource, GenericResourceMethod methodResource, Object[] params, ApplicationContext context)
focal_class.class_method_signature: DefaultMethodInvoker.invokeMethod(Object resource, GenericResourceMethod methodResource, Object[] params, ApplicationContext context)
focal_class.full_signature: public Object invokeMethod(Object resource, GenericResourceMethod methodResource, Object[] params, ApplicationContext context)
focal_class.identifier: invokeMethod
focal_class.modifiers: public
focal_class.parameters: (Object resource, GenericResourceMethod methodResource, Object[] params, ApplicationContext context)
focal_class.return: Object
focal_class.signature: Object invokeMethod(Object resource, GenericResourceMethod methodResource, Object[] params, ApplicationContext context)
focal_method.body: @Override
      public final Object invokeMethod(Object resource, GenericResourceMethod methodResource, ApplicationContext context) {
          Object[] params = makeMethodParameters(methodResource, context);
          beforeInvokeMethod(resource, methodResource, params, context);
          return invokeMethod(resource, methodResource, params, context);
      }
focal_method.class_method_signature: DefaultMethodInvoker.invokeMethod(Object resource, GenericResourceMethod methodResource, ApplicationContext context)
focal_method.full_signature: @Override public final Object invokeMethod(Object resource, GenericResourceMethod methodResource, ApplicationContext context)
focal_method.identifier: invokeMethod
focal_method.invocations: makeMethodParameters beforeInvokeMethod invokeMethod
focal_method.modifiers: @Override public final
focal_method.parameters: (Object resource, GenericResourceMethod methodResource, ApplicationContext context)
focal_method.return: Object
focal_method.signature: Object invokeMethod(Object resource, GenericResourceMethod methodResource, ApplicationContext context)