Skip to content

CIMVocabCheck: LSP Backend - Execution Engine & HTTP Endpoints #47

Description

@spah-soptim

Objective: The Java backend can receive execution requests (workspace/executeCommand) and route them to HTTP SPARQL endpoints.

Description:
This is the core of the execution engine. The VS Code extension acts as a thin client, while the Java backend parses the query and communicates with the HTTP endpoint.

  • Create the NotebookCommandHandler as the entry point for the cimvocabcheck.notebook.execute LSP command.
  • Create field-based POJO classes (ExecuteRequest, ExecuteResponse, etc.) to maintain lsp4j/gson compatibility (no records).
  • Implement the QueryKindDetector via Jena (SELECT, ASK, CONSTRUCT, DESCRIBE, UPDATE).
  • Implement the HttpQueryExecutor (QueryExecutionHTTP), including a fallback to sibling endpoints (matching the validation UX).
  • Add jena-fuseki-main:6.1.0 to pom.xml in the test scope.

Acceptance Criteria:

  • Backend correctly parses the query type and executes it against an HTTP endpoint.
  • Results are performantly capped and serialized into JSON/Turtle.
  • JUnit tests against an in-process FusekiServer pass.

Metadata

Metadata

Assignees

Labels

Fields

No fields configured for Feature.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions