Java 类org.eclipse.lsp4j.jsonrpc.messages.ResponseErrorCode 实例源码

项目:dsp4e    文件:DebugRemoteEndpointTest.java   
@Test public void testCancellation() {
    TestEndpoint endp = new TestEndpoint();
    TestMessageConsumer consumer = new TestMessageConsumer();
    RemoteEndpoint endpoint = new RemoteEndpoint(consumer, endp);

    endpoint.consume(new RequestMessage() {{
        setId("1");
        setMethod("foo");
        setParams("myparam");
    }});

    Entry<RequestMessage, CompletableFuture<Object>> entry = endp.requests.entrySet().iterator().next();
    entry.getValue().cancel(true);
    ResponseMessage message = (ResponseMessage) consumer.messages.get(0);
    assertNotNull(message);
    ResponseError error = message.getError();
    assertNotNull(error);
    assertEquals(error.getCode(), ResponseErrorCode.RequestCancelled.getValue());
    assertEquals(error.getMessage(), "The request (id: 1, method: 'foo') has been cancelled");

}
项目:SOMns-vscode    文件:ReflectiveMessageValidator.java   
@Override
public void consume(Message message) {
    List<String> result = new ArrayList<>();
    try {
        validate(message, result, new LinkedList<>());
    } catch (Throwable e) {
        LOG.log(Level.SEVERE, "Error during message validation: " + e.getMessage(), e);
        result.add("The message validation failed, please look at the server's logs.");
    }
    if (!result.isEmpty()) {
        ResponseError error = new ResponseError(ResponseErrorCode.InvalidParams,
                result.stream().collect(Collectors.joining(", ")), message);
        throw new InvalidMessageException(error.getMessage(), error, null);
    } else if (delegate != null) {
        delegate.consume(message);
    }
}
项目:SOMns-vscode    文件:GenericEndpoint.java   
@Override
public CompletableFuture<?> request(String method, Object parameter) {
    Function<Object, CompletableFuture<Object>> handler = methodHandlers.get(method);
    if (handler != null) {
        return handler.apply(parameter);
    }
    if (delegate instanceof Endpoint) {
        return ((Endpoint) delegate).request(method, parameter);
    }
    String message = "Unsupported request method: " + method;
    if (isOptionalMethod(method)) {
        LOG.log(Level.INFO, message);
        return CompletableFuture.completedFuture(null);
    }
    LOG.log(Level.WARNING, message);
    CompletableFuture<?> exceptionalResult = new CompletableFuture<Object>();
    ResponseError error = new ResponseError(ResponseErrorCode.MethodNotFound, message, null);
    exceptionalResult.completeExceptionally(new ResponseErrorException(error));
    return exceptionalResult;
}
项目:lsp4j    文件:DebugRemoteEndpointTest.java   
@Test public void testCancellation() {
    TestEndpoint endp = new TestEndpoint();
    TestMessageConsumer consumer = new TestMessageConsumer();
    RemoteEndpoint endpoint = new DebugRemoteEndpoint(consumer, endp);

    endpoint.consume(new RequestMessage() {{
        setId("1");
        setMethod("foo");
        setParams("myparam");
    }});

    Entry<RequestMessage, CompletableFuture<Object>> entry = endp.requests.entrySet().iterator().next();
    entry.getValue().cancel(true);
    ResponseMessage message = (ResponseMessage) consumer.messages.get(0);
    assertNotNull(message);
    ResponseError error = message.getError();
    assertNotNull(error);
    assertEquals(error.getCode(), ResponseErrorCode.RequestCancelled.getValue());
    assertEquals(error.getMessage(), "The request (id: 1, method: 'foo') has been cancelled");

}
项目:lsp4j    文件:ReflectiveMessageValidator.java   
@Override
public void consume(Message message) {
    List<String> result = new ArrayList<>();
    try {
        validate(message, result, new LinkedList<>());
    } catch (Throwable e) {
        LOG.log(Level.SEVERE, "Error during message validation: " + e.getMessage(), e);
        result.add("The message validation failed, please look at the server's logs.");
    }
    if (!result.isEmpty()) {
        ResponseError error = new ResponseError(ResponseErrorCode.InvalidParams,
                result.stream().collect(Collectors.joining(", ")), message);
        throw new InvalidMessageException(error.getMessage(), error, null);
    } else if (delegate != null) {
        delegate.consume(message);
    }
}
项目:lsp4j    文件:GenericEndpoint.java   
@Override
public CompletableFuture<?> request(String method, Object parameter) {
    Function<Object, CompletableFuture<Object>> handler = methodHandlers.get(method);
    if (handler != null) {
        return handler.apply(parameter);
    }
    if (delegate instanceof Endpoint) {
        return ((Endpoint) delegate).request(method, parameter);
    }
    String message = "Unsupported request method: " + method;
    if (isOptionalMethod(method)) {
        LOG.log(Level.INFO, message);
        return CompletableFuture.completedFuture(null);
    }
    LOG.log(Level.WARNING, message);
    CompletableFuture<?> exceptionalResult = new CompletableFuture<Object>();
    ResponseError error = new ResponseError(ResponseErrorCode.MethodNotFound, message, null);
    exceptionalResult.completeExceptionally(new ResponseErrorException(error));
    return exceptionalResult;
}
项目:lsp4j    文件:RemoteEndpointTest.java   
@Test public void testCancellation() {
    TestEndpoint endp = new TestEndpoint();
    TestMessageConsumer consumer = new TestMessageConsumer();
    RemoteEndpoint endpoint = new RemoteEndpoint(consumer, endp);

    endpoint.consume(new RequestMessage() {{
        setId("1");
        setMethod("foo");
        setParams("myparam");
    }});

    Entry<RequestMessage, CompletableFuture<Object>> entry = endp.requests.entrySet().iterator().next();
    entry.getValue().cancel(true);
    ResponseMessage message = (ResponseMessage) consumer.messages.get(0);
    assertNotNull(message);
    ResponseError error = message.getError();
    assertNotNull(error);
    assertEquals(error.getCode(), ResponseErrorCode.RequestCancelled.getValue());
    assertEquals(error.getMessage(), "The request (id: 1, method: 'foo') has been cancelled");
}
项目:xtext-core    文件:WorkspaceManager.java   
protected IWorkspaceConfig getWorkspaceConfig() {
  if ((this._workspaceConfig == null)) {
    final ResponseError error = new ResponseError(ResponseErrorCode.serverNotInitialized, 
      "Workspace has not been initialized yet.", null);
    throw new ResponseErrorException(error);
  }
  return this._workspaceConfig;
}
项目:lsp4j    文件:JsonSerializeTest.java   
@Test
public void testResponseError() {
  ResponseMessage _responseMessage = new ResponseMessage();
  final Procedure1<ResponseMessage> _function = (ResponseMessage it) -> {
    it.setJsonrpc("2.0");
    it.setId("12");
    ResponseError _responseError = new ResponseError();
    final Procedure1<ResponseError> _function_1 = (ResponseError it_1) -> {
      it_1.setCode(ResponseErrorCode.InvalidRequest);
      it_1.setMessage("Could not parse request.");
    };
    ResponseError _doubleArrow = ObjectExtensions.<ResponseError>operator_doubleArrow(_responseError, _function_1);
    it.setError(_doubleArrow);
  };
  final ResponseMessage message = ObjectExtensions.<ResponseMessage>operator_doubleArrow(_responseMessage, _function);
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("{");
  _builder.newLine();
  _builder.append("  ");
  _builder.append("\"jsonrpc\": \"2.0\",");
  _builder.newLine();
  _builder.append("  ");
  _builder.append("\"id\": \"12\",");
  _builder.newLine();
  _builder.append("  ");
  _builder.append("\"error\": {");
  _builder.newLine();
  _builder.append("    ");
  _builder.append("\"code\": -32600,");
  _builder.newLine();
  _builder.append("    ");
  _builder.append("\"message\": \"Could not parse request.\"");
  _builder.newLine();
  _builder.append("  ");
  _builder.append("}");
  _builder.newLine();
  _builder.append("}");
  _builder.newLine();
  this.assertSerialize(message, _builder);
}
项目:lsp4j    文件:RemoteEndpoint.java   
private static ResponseError fallbackResponseError(String header, Throwable throwable) {
    LOG.log(Level.SEVERE, header + ": " + throwable.getMessage(), throwable);
    ResponseError error = new ResponseError();
    error.setMessage(header + ".");
    error.setCode(ResponseErrorCode.InternalError);
    ByteArrayOutputStream stackTrace = new ByteArrayOutputStream();
    PrintWriter stackTraceWriter = new PrintWriter(stackTrace);
    throwable.printStackTrace(stackTraceWriter);
    stackTraceWriter.flush();
    error.setData(stackTrace.toString());
    return error;
}
项目:lsp4j    文件:RemoteEndpointTest.java   
@Test public void testException() {
    LogMessageAccumulator logMessages = new LogMessageAccumulator();
    try {
        // Don't show the exception in the test execution log
        logMessages.registerTo(RemoteEndpoint.class);

        TestEndpoint endp = new TestEndpoint() {
            @Override
            public CompletableFuture<Object> request(String method, Object parameter) {
                throw new RuntimeException("BAAZ");
            }
        };
        TestMessageConsumer consumer = new TestMessageConsumer();
        RemoteEndpoint endpoint = new RemoteEndpoint(consumer, endp);

        endpoint.consume(new RequestMessage() {{
            setId("1");
            setMethod("foo");
            setParams("myparam");
        }});

        ResponseMessage response = (ResponseMessage) consumer.messages.get(0);
        assertEquals("Internal error.", response.getError().getMessage());
        assertEquals(ResponseErrorCode.InternalError.getValue(), response.getError().getCode());
        String exception = (String) response.getError().getData();
        String expected = "java.lang.RuntimeException: BAAZ\n\tat org.eclipse.lsp4j.jsonrpc.test.RemoteEndpointTest";
        assertEquals(expected, exception.substring(0, expected.length()));
    } finally {
        logMessages.unregister();
    }
}
项目:lsp4j    文件:RemoteEndpointTest.java   
@Test public void testExceptionHandlerMisbehaving01() {
    LogMessageAccumulator logMessages = new LogMessageAccumulator();
    try {
        // Don't show the exception in the test execution log
        logMessages.registerTo(RemoteEndpoint.class);

        TestEndpoint endp = new TestEndpoint() {
            @Override
            public CompletableFuture<Object> request(String method, Object parameter) {
                throw new RuntimeException("BAAZ");
            }
        };
        TestMessageConsumer consumer = new TestMessageConsumer();
        // Misbehaving exception handler that returns null
        RemoteEndpoint endpoint = new RemoteEndpoint(consumer, endp, (e) -> null);

        endpoint.consume(new RequestMessage() {{
            setId("1");
            setMethod("foo");
            setParams("myparam");
        }});

        assertEquals("Check some response received", 1, consumer.messages.size());
        ResponseMessage response = (ResponseMessage) consumer.messages.get(0);
        assertEquals(ResponseErrorCode.InternalError.getValue(), response.getError().getCode());
    } finally {
        logMessages.unregister();
    }
}
项目:lsp4j    文件:RemoteEndpointTest.java   
@Test public void testExceptionHandlerMisbehaving02() {
    LogMessageAccumulator logMessages = new LogMessageAccumulator();
    try {
        // Don't show the exception in the test execution log
        logMessages.registerTo(RemoteEndpoint.class);

        TestEndpoint endp = new TestEndpoint() {
            @Override
            public CompletableFuture<Object> request(String method, Object parameter) {
                return CompletableFuture.supplyAsync(() -> "baz");
            }
        };
        TestMessageConsumer2 consumer = new TestMessageConsumer2();
        // Misbehaving exception handler that returns null
        RemoteEndpoint endpoint = new RemoteEndpoint(consumer, endp, (e) -> null);

        endpoint.consume(new RequestMessage() {{
            setId("1");
            setMethod("foo");
            setParams("myparam");
        }});

        assertEquals("Check some response received", 1, consumer.messages.size());
        ResponseMessage response = (ResponseMessage) consumer.messages.get(0);
        assertNotNull("Check response has error", response.getError());
        assertEquals(ResponseErrorCode.InternalError.getValue(), response.getError().getCode());
    } finally {
        logMessages.unregister();
    }
}