test_class.file: dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/ExceptionFilterTest.java
test_class.identifier: ExceptionFilterTest
test_case.body: @SuppressWarnings("unchecked")
      @Test
      public void testJavaException() {
  
          ExceptionFilter exceptionFilter = new ExceptionFilter();
          RpcInvocation invocation = new RpcInvocation("sayHello", DemoService.class.getName(), "", new Class<?>[]{String.class}, new Object[]{"world"});
  
          AppResponse appResponse = new AppResponse();
          appResponse.setException(new IllegalArgumentException("java"));
  
          Invoker<DemoService> invoker = mock(Invoker.class);
          when(invoker.invoke(invocation)).thenReturn(appResponse);
          when(invoker.getInterface()).thenReturn(DemoService.class);
  
          Result newResult = exceptionFilter.invoke(invoker, invocation);
  
          Assertions.assertEquals(appResponse.getException(), newResult.getException());
  
      }
test_case.class_method_signature: ExceptionFilterTest.testJavaException()
test_case.full_signature: @SuppressWarnings("unchecked") @Test public void testJavaException()
test_case.identifier: testJavaException
test_case.invocations: getName setException mock thenReturn when invoke thenReturn when getInterface invoke assertEquals getException getException
test_case.modifiers: @SuppressWarnings("unchecked") @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testJavaException()
focal_class.declarator: logger = LoggerFactory.getLogger(ExceptionFilter.class)
focal_class.modifier: private
focal_class.original_string: private Logger logger = LoggerFactory.getLogger(ExceptionFilter.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.file: dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/ExceptionFilter.java
focal_class.identifier: ExceptionFilter
focal_class.interfaces: implements Filter, Filter.Listener
focal_class.class_method_signature: ExceptionFilter.invoke(Invoker<?> invoker, Invocation invocation)
focal_class.full_signature: @Override public Result invoke(Invoker<?> invoker, Invocation invocation)
focal_class.identifier: invoke
focal_class.modifiers: @Override public
focal_class.parameters: (Invoker<?> invoker, Invocation invocation)
focal_class.return: Result
focal_class.signature: Result invoke(Invoker<?> invoker, Invocation invocation)
focal_class.class_method_signature: ExceptionFilter.onResponse(Result appResponse, Invoker<?> invoker, Invocation invocation)
focal_class.full_signature: @Override public void onResponse(Result appResponse, Invoker<?> invoker, Invocation invocation)
focal_class.identifier: onResponse
focal_class.modifiers: @Override public
focal_class.parameters: (Result appResponse, Invoker<?> invoker, Invocation invocation)
focal_class.return: void
focal_class.signature: void onResponse(Result appResponse, Invoker<?> invoker, Invocation invocation)
focal_class.class_method_signature: ExceptionFilter.onError(Throwable e, Invoker<?> invoker, Invocation invocation)
focal_class.full_signature: @Override public void onError(Throwable e, Invoker<?> invoker, Invocation invocation)
focal_class.identifier: onError
focal_class.modifiers: @Override public
focal_class.parameters: (Throwable e, Invoker<?> invoker, Invocation invocation)
focal_class.return: void
focal_class.signature: void onError(Throwable e, Invoker<?> invoker, Invocation invocation)
focal_class.class_method_signature: ExceptionFilter.setLogger(Logger logger)
focal_class.full_signature: public void setLogger(Logger logger)
focal_class.identifier: setLogger
focal_class.modifiers: public
focal_class.parameters: (Logger logger)
focal_class.return: void
focal_class.signature: void setLogger(Logger logger)
focal_method.body: @Override
      public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
          return invoker.invoke(invocation);
      }
focal_method.class_method_signature: ExceptionFilter.invoke(Invoker<?> invoker, Invocation invocation)
focal_method.full_signature: @Override public Result invoke(Invoker<?> invoker, Invocation invocation)
focal_method.identifier: invoke
focal_method.invocations: invoke
focal_method.modifiers: @Override public
focal_method.parameters: (Invoker<?> invoker, Invocation invocation)
focal_method.return: Result
focal_method.signature: Result invoke(Invoker<?> invoker, Invocation invocation)