private synchronized void receiveDiagnostics(PublishDiagnosticsParams diags) { this.diagnostics.put(diags.getUri(), diags); }
@Override public void publishDiagnostics(PublishDiagnosticsParams diagnostics) { publishedDiagnostics.add( new MyPublishDiagnosticParams( diagnostics.getUri(), diagnostics.getDiagnostics().stream().collect(Collectors.toSet()))); }
public PublishDiagnosticsParamsDto(org.eclipse.lsp4j.PublishDiagnosticsParams o) { if (o.getUri() == null) { setUri((java.lang.String)null); } else { java.lang.String uriVal = (java.lang.String)makeDto(o.getUri());; setUri((java.lang.String)uriVal); } if (o.getDiagnostics() == null) { setDiagnostics((java.util.List<org.eclipse.lsp4j.Diagnostic>)null); } else { ArrayList<org.eclipse.lsp4j.Diagnostic> diagnosticsVal= new ArrayList<org.eclipse.lsp4j.Diagnostic>(); for (org.eclipse.lsp4j.Diagnostic diagnosticsValX : o.getDiagnostics()) { org.eclipse.lsp4j.Diagnostic diagnosticsValY = new DiagnosticDto(diagnosticsValX); diagnosticsVal.add(diagnosticsValY); } setDiagnostics((java.util.List<org.eclipse.lsp4j.Diagnostic>)diagnosticsVal); } }
@Inject private void subscribe( LanguageServerPathTransformer languageServerPathTransformer, EventService eventService, RequestTransmitter requestTransmitter) { eventService.subscribe( event -> { PublishDiagnosticsParams params = event.getParams(); if (params.getUri() != null) { try { URI uri = new URI(params.getUri()); String wsPath = languageServerPathTransformer.toWsPath(event.getLanguageServerId(), uri); params.setUri(wsPath); endpointIds.forEach( endpointId -> requestTransmitter .newRequest() .endpointId(endpointId) .methodName("textDocument/publishDiagnostics") .paramsAsDto(new ExtendedPublishDiagnosticsParamsDto(event)) .sendAndSkipResult()); } catch (URISyntaxException e) { LOG.error("Can't parse diagnostic URI: {}", params.getUri(), e); } } }, ExtendedPublishDiagnosticsParams.class); }