Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make important configuration constants available in DI container #960

Closed
tortmayr opened this issue Mar 19, 2023 · 1 comment
Closed

Make important configuration constants available in DI container #960

tortmayr opened this issue Mar 19, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@tortmayr
Copy link
Contributor

Currently certain parts of the diagram configuration and setup/initialization happen outside of the diagram container.
This has two negative side effects:

  1. Import configuration constants like "diagramType", "clientSessionId, sourceUri` etc are not directly available in the diagram container.
  2. A lot of common code like setting up a new client session is done outside of the container and therefore dupliacted for each application (integration)

We could introduce something like GlspDiagramOptions which provides these import configuration constants. They only thing that application than have to do is to configure the GlspDiagramOptions object. The rest (like session, server connection` can than be handled generically inside of the diagram container.

@tortmayr tortmayr added the enhancement New feature or request label Mar 19, 2023
@tortmayr tortmayr added this to the 2.0.0 Release (Optional) milestone Mar 19, 2023
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Mar 19, 2023
Wrap common configuration properties in a `GlspDiagramOptions` configuration object and bind it in the diagram container
Part of eclipse-glsp/glsp#960
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Mar 19, 2023
Wrap common configuration properties in a `GlspDiagramOptions` configuration object and bind it in the diagram container
Part of eclipse-glsp/glsp#960
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Aug 8, 2023
- Make import configuration constants available in DI container via `IDiagramOptions`.
  This includes diagramType, clientId, sourceUri and glspClient.
- Introduce `DiagramLoader` as new central component responsible for configuring the glsp client and dispatching the intial model loading request
- Introduce `IDiagramStartup` services that can hook into the diagram loader lifecycle (GLSP-587)
- This means that feature modules are now self containted and can dispatch their initial actions, activate UI extensions on startup etc. without having to modifiy the `GLSPDiagram` (or similiar) componenent.

-Add `onServerInitialized` event + tests to `GLSPClient`

Part of eclipse-glsp/glsp#960
Part of eclipse-glsp/glsp#587
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Aug 8, 2023
- Make import configuration constants available in DI container via `IDiagramOptions`.
  This includes diagramType, clientId, sourceUri and glspClient.
- Introduce `DiagramLoader` as new central component responsible for configuring the glsp client and dispatching the intial model loading request
- Introduce `IDiagramStartup` services that can hook into the diagram loader lifecycle (GLSP-587)
- This means that feature modules are now self containted and can dispatch their initial actions, activate UI extensions on startup etc. without having to modifiy the `GLSPDiagram` (or similiar) componenent.

-Add `onServerInitialized` event + tests to `GLSPClient`

Part of eclipse-glsp/glsp#960
Part of eclipse-glsp/glsp#587
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Aug 8, 2023
- Make import configuration constants available in DI container via `IDiagramOptions`.
  This includes diagramType, clientId, sourceUri and glspClient.
- Introduce `DiagramLoader` as new central component responsible for configuring the glsp client and dispatching the intial model loading request
- Introduce `IDiagramStartup` services that can hook into the diagram loader lifecycle (GLSP-587)
- This means that feature modules are now self containted and can dispatch their initial actions, activate UI extensions on startup etc. without having to modifiy the `GLSPDiagram` (or similiar) componenent.

-Add `onServerInitialized` event + tests to `GLSPClient`

Part of eclipse-glsp/glsp#960
Part of eclipse-glsp/glsp#587
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Aug 8, 2023
- Make import configuration constants available in DI container via `IDiagramOptions`.
  This includes diagramType, clientId, sourceUri and glspClient.
- Introduce `DiagramLoader` as new central component responsible for configuring the glsp client and dispatching the intial model loading request
- Introduce `IDiagramStartup` services that can hook into the diagram loader lifecycle (GLSP-587)
- This means that feature modules are now self containted and can dispatch their initial actions, activate UI extensions on startup etc. without having to modifiy the `GLSPDiagram` (or similiar) componenent.

-Add `onServerInitialized` event + tests to `GLSPClient`

Part of eclipse-glsp/glsp#960
Part of eclipse-glsp/glsp#587
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Aug 9, 2023
- Make import configuration constants available in DI container via `IDiagramOptions`.
  This includes diagramType, clientId, sourceUri and glspClient.
- Introduce `DiagramLoader` as new central component responsible for configuring the glsp client and dispatching the intial model loading request
- Introduce `IDiagramStartup` services that can hook into the diagram loader lifecycle (GLSP-587)
- This means that feature modules are now self containted and can dispatch their initial actions, activate UI extensions on startup etc. without having to modifiy the `GLSPDiagram` (or similiar) componenent.

-Add `onServerInitialized` event + tests to `GLSPClient`

Part of eclipse-glsp/glsp#960
Part of eclipse-glsp/glsp#587
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Aug 10, 2023
* GLSP-960 Improve Diagram container configuration

- Make import configuration constants available in DI container via `IDiagramOptions`.
  This includes diagramType, clientId, sourceUri and glspClient.
- Introduce `DiagramLoader` as new central component responsible for configuring the glsp client and dispatching the intial model loading request
- Introduce `IDiagramStartup` services that can hook into the diagram loader lifecycle (GLSP-587)
- This means that feature modules are now self containted and can dispatch their initial actions, activate UI extensions on startup etc. without having to modifiy the `GLSPDiagram` (or similiar) componenent.

-Add `onServerInitialized` event + tests to `GLSPClient`

Part of eclipse-glsp/glsp#960
Part of eclipse-glsp/glsp#587
@tortmayr
Copy link
Contributor Author

tortmayr commented Aug 24, 2023

tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Aug 30, 2023
- Fix potential race condition of glsp client retrieval in glsp-model-source/diagram-loader 
  => DIagram loader no retrieves the client and then forwards it to the model source
- Provide `DiagamLoaderOptions` to support dynamic configuration of the loading behavior

Follow-up for eclipse-glsp/glsp/issues/960
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Sep 4, 2023
 Provide `DiagamLoaderOptions` to support dynamic configuration of the loading behavior

Follow-up for eclipse-glsp/glsp/issues/960
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Sep 4, 2023
 Provide `DiagamLoaderOptions` to support dynamic configuration of the loading behavior

Follow-up for eclipse-glsp/glsp/issues/960
tortmayr added a commit to eclipse-glsp/glsp-theia-integration that referenced this issue Sep 4, 2023
Adapt to latest client changes
Part of eclipse-glsp/glsp/issues/960
Requires eclipse-glsp/glsp-client#282
tortmayr added a commit to eclipse-glsp/glsp-eclipse-integration that referenced this issue Sep 4, 2023
Update client and server to consume latest changes for GLPS-960
Part of eclipse-glsp/glsp/issues/960
Requires eclipse-glsp/glsp-client#282
tortmayr added a commit to eclipse-glsp/glsp-vscode-integration that referenced this issue Sep 4, 2023
- Use vscode-messenger protocol for webview-extension communication
- Refactor webview communication code into `WebviewEndpoint` class
- Introduce a `WebviewGLSPClient` that forwards RPC calls to the GLSP client running in the host extension
- Refactor and update codebase to conform to changes from GLSP-960
Part of eclipse-glsp/glsp/issues/960
Requires eclipse-glsp/glsp-client#282
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Sep 4, 2023
Provide `DiagamLoaderOptions` to support dynamic configuration of the loading behavior

Follow-up for eclipse-glsp/glsp/issues/960
tortmayr added a commit to eclipse-glsp/glsp-vscode-integration that referenced this issue Sep 4, 2023
- Use vscode-messenger protocol for webview-extension communication
- Refactor webview communication code into `WebviewEndpoint` class
- Introduce a `WebviewGLSPClient` that forwards RPC calls to the GLSP client running in the host extension
- Refactor and update codebase to conform to changes from GLSP-960
Part of eclipse-glsp/glsp/issues/960
Requires eclipse-glsp/glsp-client#282
tortmayr added a commit to eclipse-glsp/glsp-theia-integration that referenced this issue Sep 4, 2023
Adapt to latest client changes
Part of eclipse-glsp/glsp/issues/960
Requires eclipse-glsp/glsp-client#282
tortmayr added a commit to eclipse-glsp/glsp-eclipse-integration that referenced this issue Sep 4, 2023
* GLSP-960: Improve Diagram container configuration 

Update client and server to consume latest changes for GLPS-960
Part of eclipse-glsp/glsp/issues/960
Requires eclipse-glsp/glsp-client#282

* Update client
tortmayr added a commit to eclipse-glsp/glsp-vscode-integration that referenced this issue Sep 4, 2023
* GLSP-960: Improve Diagram container configuration 

- Use vscode-messenger protocol for webview-extension communication
- Refactor webview communication code into `WebviewEndpoint` class
- Introduce a `WebviewGLSPClient` that forwards RPC calls to the GLSP client running in the host extension
- Refactor and update codebase to conform to changes from GLSP-960
Part of eclipse-glsp/glsp/issues/960
Requires eclipse-glsp/glsp-client#282
@tortmayr tortmayr closed this as completed Sep 4, 2023
tortmayr added a commit to eclipse-glsp/glsp-theia-integration that referenced this issue Sep 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant