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

项目:SOMns-vscode    文件:RemoteEndpoint.java   
protected boolean handleCancellation(NotificationMessage notificationMessage) {
    if (MessageJsonHandler.CANCEL_METHOD.getMethodName().equals(notificationMessage.getMethod())) {
        Object cancelParams = notificationMessage.getParams();
        if (cancelParams != null) {
            if (cancelParams instanceof CancelParams) {
                synchronized (receivedRequestMap) {
                    String id = ((CancelParams) cancelParams).getId();
                    CompletableFuture<?> future = receivedRequestMap.get(id);
                    if (future != null)
                        future.cancel(true);
                    else
                        LOG.warning("Unmatched cancel notification for request id " + id);
                }
                return true;
            } else {
                LOG.warning("Cancellation support disabled, since the '" + MessageJsonHandler.CANCEL_METHOD.getMethodName() + "' method has been registered explicitly.");
                return false;
            }
        } else {
            LOG.warning("Missing 'params' attribute of cancel notification.");
        }
    }
    return false;
}
项目:lsp4j    文件:DebugMessageJsonHandlerTest.java   
@Test
public void testNotification_AllOrders() {
    Map<String, JsonRpcMethod> supportedMethods = new LinkedHashMap<>();
    supportedMethods.put("foo", JsonRpcMethod.request("foo",
            new TypeToken<Void>() {}.getType(),
            new TypeToken<Location>() {
            }.getType()));
    DebugMessageJsonHandler handler = new DebugMessageJsonHandler(supportedMethods);
    handler.setMethodProvider((id) -> "foo");
    String[] properties = new String[] {
            "\"seq\":2",
            "\"type\":\"event\"",
            "\"event\":\"foo\"",
            "\"body\": {\"uri\": \"dummy://mymodel.mydsl\"}"
            };
    testAllPermutations(properties, json -> {
        NotificationMessage message = (NotificationMessage) handler.parseMessage(json);
        Object params = message.getParams();
        Class<? extends Object> class1 = params.getClass();
        Assert.assertEquals(Location.class, class1);
        Assert.assertEquals("dummy://mymodel.mydsl", ((Location)params).uri);
    });
}
项目:lsp4j    文件:RemoteEndpoint.java   
protected boolean handleCancellation(NotificationMessage notificationMessage) {
    if (MessageJsonHandler.CANCEL_METHOD.getMethodName().equals(notificationMessage.getMethod())) {
        Object cancelParams = notificationMessage.getParams();
        if (cancelParams != null) {
            if (cancelParams instanceof CancelParams) {
                synchronized (receivedRequestMap) {
                    String id = ((CancelParams) cancelParams).getId();
                    CompletableFuture<?> future = receivedRequestMap.get(id);
                    if (future != null)
                        future.cancel(true);
                    else
                        LOG.warning("Unmatched cancel notification for request id " + id);
                }
                return true;
            } else {
                LOG.warning("Cancellation support disabled, since the '" + MessageJsonHandler.CANCEL_METHOD.getMethodName() + "' method has been registered explicitly.");
                return false;
            }
        } else {
            LOG.warning("Missing 'params' attribute of cancel notification.");
        }
    }
    return false;
}
项目:lsp4j    文件:MessageJsonHandlerTest.java   
@Test
public void testNotification_AllOrders() {
    Map<String, JsonRpcMethod> supportedMethods = new LinkedHashMap<>();
    supportedMethods.put("foo", JsonRpcMethod.request("foo",
            new TypeToken<Void>() {}.getType(),
            new TypeToken<Location>() {
            }.getType()));
    MessageJsonHandler handler = new MessageJsonHandler(supportedMethods);
    handler.setMethodProvider((id) -> "foo");
    String[] properties = new String[] {
            "\"jsonrpc\":\"2.0\"",
            "\"method\":\"foo\"",
            "\"params\": {\"uri\": \"dummy://mymodel.mydsl\"}"
            };
    testAllPermutations(properties, json -> {
        NotificationMessage message = (NotificationMessage) handler.parseMessage(json);
        Object params = message.getParams();
        Class<? extends Object> class1 = params.getClass();
        Assert.assertEquals(Location.class, class1);
        Assert.assertEquals("dummy://mymodel.mydsl", ((Location)params).uri);
    });
}
项目:dsp4e    文件:DebugRemoteEndpointTest.java   
@Test public void testNotification() {
    TestEndpoint endp = new TestEndpoint();
    TestMessageConsumer consumer = new TestMessageConsumer();
    RemoteEndpoint endpoint = new RemoteEndpoint(consumer, endp);

    endpoint.consume(new NotificationMessage() {{
        setMethod("foo");
        setParams("myparam");
    }});

    NotificationMessage notificationMessage = endp.notifications.get(0);
    assertEquals("foo", notificationMessage.getMethod());
    assertEquals("myparam", notificationMessage.getParams());
    assertTrue(consumer.messages.isEmpty());
}
项目:SOMns-vscode    文件:RemoteEndpoint.java   
@Override
public void notify(String method, Object parameter) {
    NotificationMessage notificationMessage = new NotificationMessage();
    notificationMessage.setJsonrpc(MessageConstants.JSONRPC_VERSION);
    notificationMessage.setMethod(method);
    notificationMessage.setParams(parameter);
    out.consume(notificationMessage);
}
项目:SOMns-vscode    文件:RemoteEndpoint.java   
@Override
public void consume(Message message) {
    if (message instanceof NotificationMessage) {
        NotificationMessage notificationMessage = (NotificationMessage) message;
        handleNotification(notificationMessage);
    } else if (message instanceof RequestMessage) {
        RequestMessage requestMessage = (RequestMessage) message;
        handleRequest(requestMessage);
    } else if (message instanceof ResponseMessage) {
        ResponseMessage responseMessage = (ResponseMessage) message;
        handleResponse(responseMessage);
    }
}
项目:SOMns-vscode    文件:RemoteEndpoint.java   
protected void handleNotification(NotificationMessage notificationMessage) {
    if (!handleCancellation(notificationMessage)) {
        try {
            localEndpoint.notify(notificationMessage.getMethod(), notificationMessage.getParams());
        } catch (RuntimeException e) {
            LOG.log(Level.WARNING, "Notification threw an exception: " + notificationMessage, e);
        }
    }
}
项目:lsp4j    文件:JsonSerializeTest.java   
@Test
public void testTelemetry() {
  NotificationMessage _notificationMessage = new NotificationMessage();
  final Procedure1<NotificationMessage> _function = (NotificationMessage it) -> {
    it.setJsonrpc("2.0");
    it.setMethod(MessageMethods.TELEMETRY_EVENT);
    JsonSerializeTest.TestObject _testObject = new JsonSerializeTest.TestObject();
    it.setParams(_testObject);
  };
  final NotificationMessage message = ObjectExtensions.<NotificationMessage>operator_doubleArrow(_notificationMessage, _function);
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("{");
  _builder.newLine();
  _builder.append("  ");
  _builder.append("\"jsonrpc\": \"2.0\",");
  _builder.newLine();
  _builder.append("  ");
  _builder.append("\"method\": \"telemetry/event\",");
  _builder.newLine();
  _builder.append("  ");
  _builder.append("\"params\": {");
  _builder.newLine();
  _builder.append("    ");
  _builder.append("\"foo\": 12.3,");
  _builder.newLine();
  _builder.append("    ");
  _builder.append("\"bar\": \"qwertz\"");
  _builder.newLine();
  _builder.append("  ");
  _builder.append("}");
  _builder.newLine();
  _builder.append("}");
  _builder.newLine();
  this.assertSerialize(message, _builder);
}
项目:lsp4j    文件:JsonParseTest.java   
@Test
public void testTelemetry() {
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("{");
  _builder.newLine();
  _builder.append("\t");
  _builder.append("\"jsonrpc\": \"2.0\",");
  _builder.newLine();
  _builder.append("\t");
  _builder.append("\"method\": \"telemetry/event\",");
  _builder.newLine();
  _builder.append("\t");
  _builder.append("\"params\": {");
  _builder.newLine();
  _builder.append("\t\t");
  _builder.append("\"foo\": 12.3,");
  _builder.newLine();
  _builder.append("\t\t");
  _builder.append("\"bar\": \"qwertz\"");
  _builder.newLine();
  _builder.append("\t");
  _builder.append("}");
  _builder.newLine();
  _builder.append("}");
  _builder.newLine();
  NotificationMessage _notificationMessage = new NotificationMessage();
  final Procedure1<NotificationMessage> _function = (NotificationMessage it) -> {
    it.setJsonrpc("2.0");
    it.setMethod(MessageMethods.TELEMETRY_EVENT);
    Pair<String, Double> _mappedTo = Pair.<String, Double>of("foo", Double.valueOf(12.3));
    Pair<String, String> _mappedTo_1 = Pair.<String, String>of("bar", "qwertz");
    it.setParams(CollectionLiterals.<String, Object>newLinkedHashMap(_mappedTo, _mappedTo_1));
  };
  NotificationMessage _doubleArrow = ObjectExtensions.<NotificationMessage>operator_doubleArrow(_notificationMessage, _function);
  this.assertParse(_builder, _doubleArrow);
}
项目:lsp4j    文件:DebugRemoteEndpointTest.java   
@Test public void testNotification() {
    TestEndpoint endp = new TestEndpoint();
    TestMessageConsumer consumer = new TestMessageConsumer();
    RemoteEndpoint endpoint = new DebugRemoteEndpoint(consumer, endp);

    endpoint.consume(new NotificationMessage() {{
        setMethod("foo");
        setParams("myparam");
    }});

    NotificationMessage notificationMessage = endp.notifications.get(0);
    assertEquals("foo", notificationMessage.getMethod());
    assertEquals("myparam", notificationMessage.getParams());
    assertTrue(consumer.messages.isEmpty());
}
项目:lsp4j    文件:RemoteEndpoint.java   
protected NotificationMessage createNotificationMessage(String method, Object parameter) {
    NotificationMessage notificationMessage = new NotificationMessage();
    notificationMessage.setJsonrpc(MessageConstants.JSONRPC_VERSION);
    notificationMessage.setMethod(method);
    notificationMessage.setParams(parameter);
    return notificationMessage;
}
项目:lsp4j    文件:RemoteEndpoint.java   
@Override
public void consume(Message message) {
    if (message instanceof NotificationMessage) {
        NotificationMessage notificationMessage = (NotificationMessage) message;
        handleNotification(notificationMessage);
    } else if (message instanceof RequestMessage) {
        RequestMessage requestMessage = (RequestMessage) message;
        handleRequest(requestMessage);
    } else if (message instanceof ResponseMessage) {
        ResponseMessage responseMessage = (ResponseMessage) message;
        handleResponse(responseMessage);
    }
}
项目:lsp4j    文件:RemoteEndpoint.java   
protected void handleNotification(NotificationMessage notificationMessage) {
    if (!handleCancellation(notificationMessage)) {
        try {
            localEndpoint.notify(notificationMessage.getMethod(), notificationMessage.getParams());
        } catch (RuntimeException e) {
            LOG.log(Level.WARNING, "Notification threw an exception: " + notificationMessage, e);
        }
    }
}
项目:lsp4j    文件:RemoteEndpointTest.java   
@Test public void testNotification() {
    TestEndpoint endp = new TestEndpoint();
    TestMessageConsumer consumer = new TestMessageConsumer();
    RemoteEndpoint endpoint = new RemoteEndpoint(consumer, endp);

    endpoint.consume(new NotificationMessage() {{
        setMethod("foo");
        setParams("myparam");
    }});

    NotificationMessage notificationMessage = endp.notifications.get(0);
    assertEquals("foo", notificationMessage.getMethod());
    assertEquals("myparam", notificationMessage.getParams());
    assertTrue(consumer.messages.isEmpty());
}
项目:dsp4e    文件:DebugRemoteEndpointTest.java   
public void notify(String method, Object parameter) {
    notifications.add(new NotificationMessage() {{
        setMethod(method);
        setParams(parameter);
    }});
}
项目:lsp4j    文件:DebugRemoteEndpointTest.java   
public void notify(String method, Object parameter) {
    notifications.add(new NotificationMessage() {{
        setMethod(method);
        setParams(parameter);
    }});
}
项目:lsp4j    文件:RemoteEndpoint.java   
@Override
public void notify(String method, Object parameter) {
    NotificationMessage notificationMessage = createNotificationMessage(method, parameter);
    out.consume(notificationMessage);
}
项目:lsp4j    文件:RemoteEndpointTest.java   
public void notify(String method, Object parameter) {
    notifications.add(new NotificationMessage() {{
        setMethod(method);
        setParams(parameter);
    }});
}