test_class.declarator: GSON = new Gson()
test_class.modifier: private static final
test_class.original_string: private static final Gson GSON = new Gson();
test_class.type: Gson
test_class.var_name: GSON
test_class.declarator: channelHandlerContext
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ChannelHandlerContext channelHandlerContext;
test_class.type: ChannelHandlerContext
test_class.var_name: channelHandlerContext
test_class.declarator: fullHttpRequest
test_class.modifier: private
test_class.original_string: private FullHttpRequest fullHttpRequest;
test_class.type: FullHttpRequest
test_class.var_name: fullHttpRequest
test_class.declarator: httpServerHandler
test_class.modifier: private
test_class.original_string: private HttpServerHandler httpServerHandler;
test_class.type: HttpServerHandler
test_class.var_name: httpServerHandler
test_class.declarator: scalingConfig
test_class.modifier: private
test_class.original_string: private ScalingConfiguration scalingConfig;
test_class.type: ScalingConfiguration
test_class.var_name: scalingConfig
test_class.file: shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/test/java/org/apache/shardingsphere/scaling/web/HttpServerHandlerTest.java
test_class.identifier: HttpServerHandlerTest
test_case.body: @Test
      public void assertExceptionCaught() {
          Throwable throwable = mock(Throwable.class);
          httpServerHandler.exceptionCaught(channelHandlerContext, throwable);
          verify(channelHandlerContext).close();
      }
test_case.class_method_signature: HttpServerHandlerTest.assertExceptionCaught()
test_case.full_signature: @Test public void assertExceptionCaught()
test_case.identifier: assertExceptionCaught
test_case.invocations: mock exceptionCaught close verify
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertExceptionCaught()
focal_class.declarator: URL_PATTERN = Pattern.compile("(^/scaling/job/(start|stop|list))|(^/scaling/job/(progress|check)/\\d+)", Pattern.CASE_INSENSITIVE)
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern URL_PATTERN = Pattern.compile("(^/scaling/job/(start|stop|list))|(^/scaling/job/(progress|check)/\\d+)", Pattern.CASE_INSENSITIVE);
focal_class.type: Pattern
focal_class.var_name: URL_PATTERN
focal_class.declarator: GSON = new GsonBuilder().disableHtmlEscaping().serializeNulls().create()
focal_class.modifier: private static final
focal_class.original_string: private static final Gson GSON = new GsonBuilder().disableHtmlEscaping().serializeNulls().create();
focal_class.type: Gson
focal_class.var_name: GSON
focal_class.declarator: SCALING_JOB_CONTROLLER = new ScalingJobController()
focal_class.modifier: private static final
focal_class.original_string: private static final ScalingJobController SCALING_JOB_CONTROLLER = new ScalingJobController();
focal_class.type: ScalingJobController
focal_class.var_name: SCALING_JOB_CONTROLLER
focal_class.file: shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/HttpServerHandler.java
focal_class.identifier: HttpServerHandler
focal_class.class_method_signature: HttpServerHandler.channelRead0(final ChannelHandlerContext context, final FullHttpRequest request)
focal_class.full_signature: @Override protected void channelRead0(final ChannelHandlerContext context, final FullHttpRequest request)
focal_class.identifier: channelRead0
focal_class.modifiers: @Override protected
focal_class.parameters: (final ChannelHandlerContext context, final FullHttpRequest request)
focal_class.return: void
focal_class.signature: void channelRead0(final ChannelHandlerContext context, final FullHttpRequest request)
focal_class.class_method_signature: HttpServerHandler.startJob(final ChannelHandlerContext context, final String requestBody)
focal_class.full_signature: private void startJob(final ChannelHandlerContext context, final String requestBody)
focal_class.identifier: startJob
focal_class.modifiers: private
focal_class.parameters: (final ChannelHandlerContext context, final String requestBody)
focal_class.return: void
focal_class.signature: void startJob(final ChannelHandlerContext context, final String requestBody)
focal_class.class_method_signature: HttpServerHandler.getJobProgress(final ChannelHandlerContext context, final String requestPath)
focal_class.full_signature: private void getJobProgress(final ChannelHandlerContext context, final String requestPath)
focal_class.identifier: getJobProgress
focal_class.modifiers: private
focal_class.parameters: (final ChannelHandlerContext context, final String requestPath)
focal_class.return: void
focal_class.signature: void getJobProgress(final ChannelHandlerContext context, final String requestPath)
focal_class.class_method_signature: HttpServerHandler.listAllJobs(final ChannelHandlerContext context)
focal_class.full_signature: private void listAllJobs(final ChannelHandlerContext context)
focal_class.identifier: listAllJobs
focal_class.modifiers: private
focal_class.parameters: (final ChannelHandlerContext context)
focal_class.return: void
focal_class.signature: void listAllJobs(final ChannelHandlerContext context)
focal_class.class_method_signature: HttpServerHandler.stopJob(final ChannelHandlerContext context, final String requestBody)
focal_class.full_signature: private void stopJob(final ChannelHandlerContext context, final String requestBody)
focal_class.identifier: stopJob
focal_class.modifiers: private
focal_class.parameters: (final ChannelHandlerContext context, final String requestBody)
focal_class.return: void
focal_class.signature: void stopJob(final ChannelHandlerContext context, final String requestBody)
focal_class.class_method_signature: HttpServerHandler.checkJob(final ChannelHandlerContext context, final String requestPath)
focal_class.full_signature: private void checkJob(final ChannelHandlerContext context, final String requestPath)
focal_class.identifier: checkJob
focal_class.modifiers: private
focal_class.parameters: (final ChannelHandlerContext context, final String requestPath)
focal_class.return: void
focal_class.signature: void checkJob(final ChannelHandlerContext context, final String requestPath)
focal_class.class_method_signature: HttpServerHandler.response(final String content, final ChannelHandlerContext context, final HttpResponseStatus status)
focal_class.full_signature: private void response(final String content, final ChannelHandlerContext context, final HttpResponseStatus status)
focal_class.identifier: response
focal_class.modifiers: private
focal_class.parameters: (final String content, final ChannelHandlerContext context, final HttpResponseStatus status)
focal_class.return: void
focal_class.signature: void response(final String content, final ChannelHandlerContext context, final HttpResponseStatus status)
focal_class.class_method_signature: HttpServerHandler.exceptionCaught(final ChannelHandlerContext context, final Throwable cause)
focal_class.full_signature: @Override public void exceptionCaught(final ChannelHandlerContext context, final Throwable cause)
focal_class.identifier: exceptionCaught
focal_class.modifiers: @Override public
focal_class.parameters: (final ChannelHandlerContext context, final Throwable cause)
focal_class.return: void
focal_class.signature: void exceptionCaught(final ChannelHandlerContext context, final Throwable cause)
focal_class.superclass: extends SimpleChannelInboundHandler<FullHttpRequest>
focal_method.body: @Override
      public void exceptionCaught(final ChannelHandlerContext context, final Throwable cause) {
          log.warn("Http request handle occur error:", cause);
          response(GSON.toJson(ResponseContentUtil.handleException(cause.toString())), context, HttpResponseStatus.INTERNAL_SERVER_ERROR);
          context.close();
      }
focal_method.class_method_signature: HttpServerHandler.exceptionCaught(final ChannelHandlerContext context, final Throwable cause)
focal_method.full_signature: @Override public void exceptionCaught(final ChannelHandlerContext context, final Throwable cause)
focal_method.identifier: exceptionCaught
focal_method.invocations: warn response toJson handleException toString close
focal_method.modifiers: @Override public
focal_method.parameters: (final ChannelHandlerContext context, final Throwable cause)
focal_method.return: void
focal_method.signature: void exceptionCaught(final ChannelHandlerContext context, final Throwable cause)