@eclipse-glsp/server 1.1.0-next.3d7585d.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +642 -0
- package/README.md +8 -0
- package/browser.d.ts +16 -0
- package/browser.js +18 -0
- package/lib/browser/di/app-module.d.ts +24 -0
- package/lib/browser/di/app-module.d.ts.map +1 -0
- package/lib/browser/di/app-module.js +55 -0
- package/lib/browser/di/app-module.js.map +1 -0
- package/lib/browser/di/console-logger.d.ts +29 -0
- package/lib/browser/di/console-logger.d.ts.map +1 -0
- package/lib/browser/di/console-logger.js +81 -0
- package/lib/browser/di/console-logger.js.map +1 -0
- package/lib/browser/index.d.ts +20 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +36 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/launch/worker-server-launcher.d.ts +26 -0
- package/lib/browser/launch/worker-server-launcher.d.ts.map +1 -0
- package/lib/browser/launch/worker-server-launcher.js +65 -0
- package/lib/browser/launch/worker-server-launcher.js.map +1 -0
- package/lib/common/actions/action-dispatcher.d.ts +74 -0
- package/lib/common/actions/action-dispatcher.d.ts.map +1 -0
- package/lib/common/actions/action-dispatcher.js +128 -0
- package/lib/common/actions/action-dispatcher.js.map +1 -0
- package/lib/common/actions/action-dispatcher.spec.d.ts +2 -0
- package/lib/common/actions/action-dispatcher.spec.d.ts.map +1 -0
- package/lib/common/actions/action-dispatcher.spec.js +264 -0
- package/lib/common/actions/action-dispatcher.spec.js.map +1 -0
- package/lib/common/actions/action-handler-registry.d.ts +40 -0
- package/lib/common/actions/action-handler-registry.d.ts.map +1 -0
- package/lib/common/actions/action-handler-registry.js +65 -0
- package/lib/common/actions/action-handler-registry.js.map +1 -0
- package/lib/common/actions/action-handler-registry.spec.d.ts +2 -0
- package/lib/common/actions/action-handler-registry.spec.d.ts.map +1 -0
- package/lib/common/actions/action-handler-registry.spec.js +50 -0
- package/lib/common/actions/action-handler-registry.spec.js.map +1 -0
- package/lib/common/actions/action-handler.d.ts +55 -0
- package/lib/common/actions/action-handler.d.ts.map +1 -0
- package/lib/common/actions/action-handler.js +7 -0
- package/lib/common/actions/action-handler.js.map +1 -0
- package/lib/common/actions/client-action-handler.d.ts +30 -0
- package/lib/common/actions/client-action-handler.d.ts.map +1 -0
- package/lib/common/actions/client-action-handler.js +56 -0
- package/lib/common/actions/client-action-handler.js.map +1 -0
- package/lib/common/actions/global-action-provider.d.ts +30 -0
- package/lib/common/actions/global-action-provider.d.ts.map +1 -0
- package/lib/common/actions/global-action-provider.js +81 -0
- package/lib/common/actions/global-action-provider.js.map +1 -0
- package/lib/common/actions/global-action-provider.spec.d.ts +2 -0
- package/lib/common/actions/global-action-provider.spec.d.ts.map +1 -0
- package/lib/common/actions/global-action-provider.spec.js +70 -0
- package/lib/common/actions/global-action-provider.spec.js.map +1 -0
- package/lib/common/command/command-stack.d.ts +37 -0
- package/lib/common/command/command-stack.d.ts.map +1 -0
- package/lib/common/command/command-stack.js +48 -0
- package/lib/common/command/command-stack.js.map +1 -0
- package/lib/common/command/command.d.ts +37 -0
- package/lib/common/command/command.d.ts.map +1 -0
- package/lib/common/command/command.js +18 -0
- package/lib/common/command/command.js.map +1 -0
- package/lib/common/di/binding-target.d.ts +73 -0
- package/lib/common/di/binding-target.d.ts.map +1 -0
- package/lib/common/di/binding-target.js +143 -0
- package/lib/common/di/binding-target.js.map +1 -0
- package/lib/common/di/binding-target.spec.d.ts +2 -0
- package/lib/common/di/binding-target.spec.d.ts.map +1 -0
- package/lib/common/di/binding-target.spec.js +121 -0
- package/lib/common/di/binding-target.spec.js.map +1 -0
- package/lib/common/di/client-session-module.d.ts +19 -0
- package/lib/common/di/client-session-module.d.ts.map +1 -0
- package/lib/common/di/client-session-module.js +34 -0
- package/lib/common/di/client-session-module.js.map +1 -0
- package/lib/common/di/diagram-module.d.ts +127 -0
- package/lib/common/di/diagram-module.d.ts.map +1 -0
- package/lib/common/di/diagram-module.js +283 -0
- package/lib/common/di/diagram-module.js.map +1 -0
- package/lib/common/di/glsp-module.d.ts +47 -0
- package/lib/common/di/glsp-module.d.ts.map +1 -0
- package/lib/common/di/glsp-module.js +59 -0
- package/lib/common/di/glsp-module.js.map +1 -0
- package/lib/common/di/multi-binding.d.ts +41 -0
- package/lib/common/di/multi-binding.d.ts.map +1 -0
- package/lib/common/di/multi-binding.js +82 -0
- package/lib/common/di/multi-binding.js.map +1 -0
- package/lib/common/di/multi-bindings.spec.d.ts +2 -0
- package/lib/common/di/multi-bindings.spec.d.ts.map +1 -0
- package/lib/common/di/multi-bindings.spec.js +137 -0
- package/lib/common/di/multi-bindings.spec.js.map +1 -0
- package/lib/common/di/server-module.d.ts +73 -0
- package/lib/common/di/server-module.d.ts.map +1 -0
- package/lib/common/di/server-module.js +103 -0
- package/lib/common/di/server-module.js.map +1 -0
- package/lib/common/di/service-identifiers.d.ts +29 -0
- package/lib/common/di/service-identifiers.d.ts.map +1 -0
- package/lib/common/di/service-identifiers.js +14 -0
- package/lib/common/di/service-identifiers.js.map +1 -0
- package/lib/common/diagram/diagram-configuration.d.ts +89 -0
- package/lib/common/diagram/diagram-configuration.d.ts.map +1 -0
- package/lib/common/diagram/diagram-configuration.js +30 -0
- package/lib/common/diagram/diagram-configuration.js.map +1 -0
- package/lib/common/diagram/request-type-hints-action-handler.d.ts +25 -0
- package/lib/common/diagram/request-type-hints-action-handler.d.ts.map +1 -0
- package/lib/common/diagram/request-type-hints-action-handler.js +53 -0
- package/lib/common/diagram/request-type-hints-action-handler.js.map +1 -0
- package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts +2 -0
- package/lib/common/diagram/request-type-hints-action-handler.spec.d.ts.map +1 -0
- package/lib/common/diagram/request-type-hints-action-handler.spec.js +57 -0
- package/lib/common/diagram/request-type-hints-action-handler.spec.js.map +1 -0
- package/lib/common/features/clipboard/request-clipboard-data-action-handler.d.ts +26 -0
- package/lib/common/features/clipboard/request-clipboard-data-action-handler.d.ts.map +1 -0
- package/lib/common/features/clipboard/request-clipboard-data-action-handler.js +61 -0
- package/lib/common/features/clipboard/request-clipboard-data-action-handler.js.map +1 -0
- package/lib/common/features/contextactions/command-palette-action-provider.d.ts +63 -0
- package/lib/common/features/contextactions/command-palette-action-provider.d.ts.map +1 -0
- package/lib/common/features/contextactions/command-palette-action-provider.js +72 -0
- package/lib/common/features/contextactions/command-palette-action-provider.js.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.d.ts +12 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.d.ts.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.js +70 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.js.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts +2 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.spec.d.ts.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.spec.js +34 -0
- package/lib/common/features/contextactions/context-actions-provider-registry.spec.js.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider.d.ts +34 -0
- package/lib/common/features/contextactions/context-actions-provider.d.ts.map +1 -0
- package/lib/common/features/contextactions/context-actions-provider.js +5 -0
- package/lib/common/features/contextactions/context-actions-provider.js.map +1 -0
- package/lib/common/features/contextactions/context-menu-item-provider.d.ts +43 -0
- package/lib/common/features/contextactions/context-menu-item-provider.d.ts.map +1 -0
- package/lib/common/features/contextactions/context-menu-item-provider.js +36 -0
- package/lib/common/features/contextactions/context-menu-item-provider.js.map +1 -0
- package/lib/common/features/contextactions/request-context-actions-handler.d.ts +24 -0
- package/lib/common/features/contextactions/request-context-actions-handler.d.ts.map +1 -0
- package/lib/common/features/contextactions/request-context-actions-handler.js +53 -0
- package/lib/common/features/contextactions/request-context-actions-handler.js.map +1 -0
- package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts +2 -0
- package/lib/common/features/contextactions/request-context-actions-handler.spec.d.ts.map +1 -0
- package/lib/common/features/contextactions/request-context-actions-handler.spec.js +63 -0
- package/lib/common/features/contextactions/request-context-actions-handler.spec.js.map +1 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.d.ts +50 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.d.ts.map +1 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.js +88 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.js.map +1 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts +2 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.spec.d.ts.map +1 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.spec.js +48 -0
- package/lib/common/features/contextactions/tool-palette-item-provider.spec.js.map +1 -0
- package/lib/common/features/directediting/context-edit-validator-registry.d.ts +14 -0
- package/lib/common/features/directediting/context-edit-validator-registry.d.ts.map +1 -0
- package/lib/common/features/directediting/context-edit-validator-registry.js +57 -0
- package/lib/common/features/directediting/context-edit-validator-registry.js.map +1 -0
- package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts +2 -0
- package/lib/common/features/directediting/context-edit-validator-registry.spec.d.ts.map +1 -0
- package/lib/common/features/directediting/context-edit-validator-registry.spec.js +44 -0
- package/lib/common/features/directediting/context-edit-validator-registry.spec.js.map +1 -0
- package/lib/common/features/directediting/context-edit-validator.d.ts +25 -0
- package/lib/common/features/directediting/context-edit-validator.d.ts.map +1 -0
- package/lib/common/features/directediting/context-edit-validator.js +40 -0
- package/lib/common/features/directediting/context-edit-validator.js.map +1 -0
- package/lib/common/features/directediting/label-edit-validator.d.ts +32 -0
- package/lib/common/features/directediting/label-edit-validator.d.ts.map +1 -0
- package/lib/common/features/directediting/label-edit-validator.js +21 -0
- package/lib/common/features/directediting/label-edit-validator.js.map +1 -0
- package/lib/common/features/directediting/request-edit-validation-handler.d.ts +26 -0
- package/lib/common/features/directediting/request-edit-validation-handler.d.ts.map +1 -0
- package/lib/common/features/directediting/request-edit-validation-handler.js +61 -0
- package/lib/common/features/directediting/request-edit-validation-handler.js.map +1 -0
- package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts +2 -0
- package/lib/common/features/directediting/request-edit-validation-handler.spec.d.ts.map +1 -0
- package/lib/common/features/directediting/request-edit-validation-handler.spec.js +97 -0
- package/lib/common/features/directediting/request-edit-validation-handler.spec.js.map +1 -0
- package/lib/common/features/layout/layout-engine.d.ts +29 -0
- package/lib/common/features/layout/layout-engine.d.ts.map +1 -0
- package/lib/common/features/layout/layout-engine.js +20 -0
- package/lib/common/features/layout/layout-engine.js.map +1 -0
- package/lib/common/features/layout/layout-operation-handler.d.ts +28 -0
- package/lib/common/features/layout/layout-operation-handler.d.ts.map +1 -0
- package/lib/common/features/layout/layout-operation-handler.js +66 -0
- package/lib/common/features/layout/layout-operation-handler.js.map +1 -0
- package/lib/common/features/model/gmodel-factory.d.ts +39 -0
- package/lib/common/features/model/gmodel-factory.d.ts.map +1 -0
- package/lib/common/features/model/gmodel-factory.js +39 -0
- package/lib/common/features/model/gmodel-factory.js.map +1 -0
- package/lib/common/features/model/gmodel-index.d.ts +107 -0
- package/lib/common/features/model/gmodel-index.d.ts.map +1 -0
- package/lib/common/features/model/gmodel-index.js +193 -0
- package/lib/common/features/model/gmodel-index.js.map +1 -0
- package/lib/common/features/model/gmodel-serializer.d.ts +67 -0
- package/lib/common/features/model/gmodel-serializer.d.ts.map +1 -0
- package/lib/common/features/model/gmodel-serializer.js +143 -0
- package/lib/common/features/model/gmodel-serializer.js.map +1 -0
- package/lib/common/features/model/gmodel-serializer.spec.d.ts +2 -0
- package/lib/common/features/model/gmodel-serializer.spec.d.ts.map +1 -0
- package/lib/common/features/model/gmodel-serializer.spec.js +124 -0
- package/lib/common/features/model/gmodel-serializer.spec.js.map +1 -0
- package/lib/common/features/model/model-state.d.ts +53 -0
- package/lib/common/features/model/model-state.d.ts.map +1 -0
- package/lib/common/features/model/model-state.js +75 -0
- package/lib/common/features/model/model-state.js.map +1 -0
- package/lib/common/features/model/model-submission-handler.d.ts +56 -0
- package/lib/common/features/model/model-submission-handler.d.ts.map +1 -0
- package/lib/common/features/model/model-submission-handler.js +97 -0
- package/lib/common/features/model/model-submission-handler.js.map +1 -0
- package/lib/common/features/model/request-model-action-handler.d.ts +37 -0
- package/lib/common/features/model/request-model-action-handler.d.ts.map +1 -0
- package/lib/common/features/model/request-model-action-handler.js +83 -0
- package/lib/common/features/model/request-model-action-handler.js.map +1 -0
- package/lib/common/features/model/save-model-action-handler.d.ts +26 -0
- package/lib/common/features/model/save-model-action-handler.d.ts.map +1 -0
- package/lib/common/features/model/save-model-action-handler.js +54 -0
- package/lib/common/features/model/save-model-action-handler.js.map +1 -0
- package/lib/common/features/model/source-model-storage.d.ts +47 -0
- package/lib/common/features/model/source-model-storage.d.ts.map +1 -0
- package/lib/common/features/model/source-model-storage.js +5 -0
- package/lib/common/features/model/source-model-storage.js.map +1 -0
- package/lib/common/features/navigation/json-opener-options.d.ts +36 -0
- package/lib/common/features/navigation/json-opener-options.d.ts.map +1 -0
- package/lib/common/features/navigation/json-opener-options.js +60 -0
- package/lib/common/features/navigation/json-opener-options.js.map +1 -0
- package/lib/common/features/navigation/navigation-target-provider-registry.d.ts +12 -0
- package/lib/common/features/navigation/navigation-target-provider-registry.d.ts.map +1 -0
- package/lib/common/features/navigation/navigation-target-provider-registry.js +47 -0
- package/lib/common/features/navigation/navigation-target-provider-registry.js.map +1 -0
- package/lib/common/features/navigation/navigation-target-provider.d.ts +48 -0
- package/lib/common/features/navigation/navigation-target-provider.d.ts.map +1 -0
- package/lib/common/features/navigation/navigation-target-provider.js +5 -0
- package/lib/common/features/navigation/navigation-target-provider.js.map +1 -0
- package/lib/common/features/navigation/navigation-target-resolution.d.ts +23 -0
- package/lib/common/features/navigation/navigation-target-resolution.d.ts.map +1 -0
- package/lib/common/features/navigation/navigation-target-resolution.js +12 -0
- package/lib/common/features/navigation/navigation-target-resolution.js.map +1 -0
- package/lib/common/features/navigation/navigation-target-resolver.d.ts +31 -0
- package/lib/common/features/navigation/navigation-target-resolver.d.ts.map +1 -0
- package/lib/common/features/navigation/navigation-target-resolver.js +49 -0
- package/lib/common/features/navigation/navigation-target-resolver.js.map +1 -0
- package/lib/common/features/navigation/request-navigation-targets-action-handler.d.ts +24 -0
- package/lib/common/features/navigation/request-navigation-targets-action-handler.d.ts.map +1 -0
- package/lib/common/features/navigation/request-navigation-targets-action-handler.js +55 -0
- package/lib/common/features/navigation/request-navigation-targets-action-handler.js.map +1 -0
- package/lib/common/features/navigation/resolve-navigation-targets-action-handler.d.ts +26 -0
- package/lib/common/features/navigation/resolve-navigation-targets-action-handler.d.ts.map +1 -0
- package/lib/common/features/navigation/resolve-navigation-targets-action-handler.js +59 -0
- package/lib/common/features/navigation/resolve-navigation-targets-action-handler.js.map +1 -0
- package/lib/common/features/popup/popup-model-factory.d.ts +36 -0
- package/lib/common/features/popup/popup-model-factory.d.ts.map +1 -0
- package/lib/common/features/popup/popup-model-factory.js +20 -0
- package/lib/common/features/popup/popup-model-factory.js.map +1 -0
- package/lib/common/features/popup/request-popup-model-action-handler.d.ts +31 -0
- package/lib/common/features/popup/request-popup-model-action-handler.d.ts.map +1 -0
- package/lib/common/features/popup/request-popup-model-action-handler.js +77 -0
- package/lib/common/features/popup/request-popup-model-action-handler.js.map +1 -0
- package/lib/common/features/validation/model-validator.d.ts +33 -0
- package/lib/common/features/validation/model-validator.d.ts.map +1 -0
- package/lib/common/features/validation/model-validator.js +5 -0
- package/lib/common/features/validation/model-validator.js.map +1 -0
- package/lib/common/features/validation/request-markers-handler.d.ts +11 -0
- package/lib/common/features/validation/request-markers-handler.d.ts.map +1 -0
- package/lib/common/features/validation/request-markers-handler.js +70 -0
- package/lib/common/features/validation/request-markers-handler.js.map +1 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts +9 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.js +55 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.js.map +1 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.spec.d.ts +2 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.spec.d.ts.map +1 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.spec.js +38 -0
- package/lib/common/gmodel/apply-label-edit-operation-handler.spec.js.map +1 -0
- package/lib/common/gmodel/change-bounds-operation-handler.d.ts +10 -0
- package/lib/common/gmodel/change-bounds-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/change-bounds-operation-handler.js +71 -0
- package/lib/common/gmodel/change-bounds-operation-handler.js.map +1 -0
- package/lib/common/gmodel/change-routing-points-operation-handler.d.ts +24 -0
- package/lib/common/gmodel/change-routing-points-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/change-routing-points-operation-handler.js +53 -0
- package/lib/common/gmodel/change-routing-points-operation-handler.js.map +1 -0
- package/lib/common/gmodel/computed-bounds-action-handler.d.ts +29 -0
- package/lib/common/gmodel/computed-bounds-action-handler.d.ts.map +1 -0
- package/lib/common/gmodel/computed-bounds-action-handler.js +50 -0
- package/lib/common/gmodel/computed-bounds-action-handler.js.map +1 -0
- package/lib/common/gmodel/delete-operation-handler.d.ts +32 -0
- package/lib/common/gmodel/delete-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/delete-operation-handler.js +116 -0
- package/lib/common/gmodel/delete-operation-handler.js.map +1 -0
- package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts +31 -0
- package/lib/common/gmodel/gmodel-create-edge-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/gmodel-create-edge-operation-handler.js +65 -0
- package/lib/common/gmodel/gmodel-create-edge-operation-handler.js.map +1 -0
- package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts +31 -0
- package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/gmodel-create-node-operation-handler.js +58 -0
- package/lib/common/gmodel/gmodel-create-node-operation-handler.js.map +1 -0
- package/lib/common/gmodel/gmodel-diagram-module.d.ts +31 -0
- package/lib/common/gmodel/gmodel-diagram-module.d.ts.map +1 -0
- package/lib/common/gmodel/gmodel-diagram-module.js +86 -0
- package/lib/common/gmodel/gmodel-diagram-module.js.map +1 -0
- package/lib/common/gmodel/index.d.ts +26 -0
- package/lib/common/gmodel/index.d.ts.map +1 -0
- package/lib/common/gmodel/index.js +42 -0
- package/lib/common/gmodel/index.js.map +1 -0
- package/lib/common/gmodel/paste-operation-handler.d.ts +35 -0
- package/lib/common/gmodel/paste-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/paste-operation-handler.js +131 -0
- package/lib/common/gmodel/paste-operation-handler.js.map +1 -0
- package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts +9 -0
- package/lib/common/gmodel/reconnect-edge-operation-handler.d.ts.map +1 -0
- package/lib/common/gmodel/reconnect-edge-operation-handler.js +67 -0
- package/lib/common/gmodel/reconnect-edge-operation-handler.js.map +1 -0
- package/lib/common/index.d.ts +88 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +104 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/launch/glsp-server-launcher.d.ts +34 -0
- package/lib/common/launch/glsp-server-launcher.d.ts.map +1 -0
- package/lib/common/launch/glsp-server-launcher.js +64 -0
- package/lib/common/launch/glsp-server-launcher.js.map +1 -0
- package/lib/common/operations/compound-operation-handler.d.ts +25 -0
- package/lib/common/operations/compound-operation-handler.d.ts.map +1 -0
- package/lib/common/operations/compound-operation-handler.js +54 -0
- package/lib/common/operations/compound-operation-handler.js.map +1 -0
- package/lib/common/operations/create-operation-handler.d.ts +64 -0
- package/lib/common/operations/create-operation-handler.d.ts.map +1 -0
- package/lib/common/operations/create-operation-handler.js +90 -0
- package/lib/common/operations/create-operation-handler.js.map +1 -0
- package/lib/common/operations/cut-operation-handler.d.ts +25 -0
- package/lib/common/operations/cut-operation-handler.d.ts.map +1 -0
- package/lib/common/operations/cut-operation-handler.js +53 -0
- package/lib/common/operations/cut-operation-handler.js.map +1 -0
- package/lib/common/operations/operation-action-handler.d.ts +33 -0
- package/lib/common/operations/operation-action-handler.d.ts.map +1 -0
- package/lib/common/operations/operation-action-handler.js +94 -0
- package/lib/common/operations/operation-action-handler.js.map +1 -0
- package/lib/common/operations/operation-handler-registry.d.ts +29 -0
- package/lib/common/operations/operation-handler-registry.d.ts.map +1 -0
- package/lib/common/operations/operation-handler-registry.js +58 -0
- package/lib/common/operations/operation-handler-registry.js.map +1 -0
- package/lib/common/operations/operation-handler-registry.spec.d.ts +2 -0
- package/lib/common/operations/operation-handler-registry.spec.d.ts.map +1 -0
- package/lib/common/operations/operation-handler-registry.spec.js +50 -0
- package/lib/common/operations/operation-handler-registry.spec.js.map +1 -0
- package/lib/common/operations/operation-handler.d.ts +50 -0
- package/lib/common/operations/operation-handler.d.ts.map +1 -0
- package/lib/common/operations/operation-handler.js +7 -0
- package/lib/common/operations/operation-handler.js.map +1 -0
- package/lib/common/protocol/glsp-client-proxy.d.ts +45 -0
- package/lib/common/protocol/glsp-client-proxy.d.ts.map +1 -0
- package/lib/common/protocol/glsp-client-proxy.js +53 -0
- package/lib/common/protocol/glsp-client-proxy.js.map +1 -0
- package/lib/common/protocol/glsp-server-listener.d.ts +37 -0
- package/lib/common/protocol/glsp-server-listener.d.ts.map +1 -0
- package/lib/common/protocol/glsp-server-listener.js +5 -0
- package/lib/common/protocol/glsp-server-listener.js.map +1 -0
- package/lib/common/protocol/glsp-server.d.ts +150 -0
- package/lib/common/protocol/glsp-server.d.ts.map +1 -0
- package/lib/common/protocol/glsp-server.js +188 -0
- package/lib/common/protocol/glsp-server.js.map +1 -0
- package/lib/common/protocol/glsp-server.spec.d.ts +2 -0
- package/lib/common/protocol/glsp-server.spec.d.ts.map +1 -0
- package/lib/common/protocol/glsp-server.spec.js +119 -0
- package/lib/common/protocol/glsp-server.spec.js.map +1 -0
- package/lib/common/session/client-session-factory.d.ts +42 -0
- package/lib/common/session/client-session-factory.d.ts.map +1 -0
- package/lib/common/session/client-session-factory.js +54 -0
- package/lib/common/session/client-session-factory.js.map +1 -0
- package/lib/common/session/client-session-factory.spec.d.ts +2 -0
- package/lib/common/session/client-session-factory.spec.d.ts.map +1 -0
- package/lib/common/session/client-session-factory.spec.js +56 -0
- package/lib/common/session/client-session-factory.spec.js.map +1 -0
- package/lib/common/session/client-session-initializer.d.ts +26 -0
- package/lib/common/session/client-session-initializer.d.ts.map +1 -0
- package/lib/common/session/client-session-initializer.js +5 -0
- package/lib/common/session/client-session-initializer.js.map +1 -0
- package/lib/common/session/client-session-listener.d.ts +40 -0
- package/lib/common/session/client-session-listener.d.ts.map +1 -0
- package/lib/common/session/client-session-listener.js +3 -0
- package/lib/common/session/client-session-listener.js.map +1 -0
- package/lib/common/session/client-session-manager.d.ts +102 -0
- package/lib/common/session/client-session-manager.d.ts.map +1 -0
- package/lib/common/session/client-session-manager.js +116 -0
- package/lib/common/session/client-session-manager.js.map +1 -0
- package/lib/common/session/client-session-manager.spec.d.ts +2 -0
- package/lib/common/session/client-session-manager.spec.d.ts.map +1 -0
- package/lib/common/session/client-session-manager.spec.js +74 -0
- package/lib/common/session/client-session-manager.spec.js.map +1 -0
- package/lib/common/session/client-session.d.ts +52 -0
- package/lib/common/session/client-session.d.ts.map +1 -0
- package/lib/common/session/client-session.js +34 -0
- package/lib/common/session/client-session.js.map +1 -0
- package/lib/common/test/mock-util.d.ts +110 -0
- package/lib/common/test/mock-util.d.ts.map +1 -0
- package/lib/common/test/mock-util.js +211 -0
- package/lib/common/test/mock-util.js.map +1 -0
- package/lib/common/utils/args-util.d.ts +38 -0
- package/lib/common/utils/args-util.d.ts.map +1 -0
- package/lib/common/utils/args-util.js +81 -0
- package/lib/common/utils/args-util.js.map +1 -0
- package/lib/common/utils/client-options-util.d.ts +20 -0
- package/lib/common/utils/client-options-util.d.ts.map +1 -0
- package/lib/common/utils/client-options-util.js +26 -0
- package/lib/common/utils/client-options-util.js.map +1 -0
- package/lib/common/utils/glsp-server-error.d.ts +21 -0
- package/lib/common/utils/glsp-server-error.d.ts.map +1 -0
- package/lib/common/utils/glsp-server-error.js +33 -0
- package/lib/common/utils/glsp-server-error.js.map +1 -0
- package/lib/common/utils/layout-util.d.ts +74 -0
- package/lib/common/utils/layout-util.d.ts.map +1 -0
- package/lib/common/utils/layout-util.js +166 -0
- package/lib/common/utils/layout-util.js.map +1 -0
- package/lib/common/utils/logger.d.ts +27 -0
- package/lib/common/utils/logger.d.ts.map +1 -0
- package/lib/common/utils/logger.js +67 -0
- package/lib/common/utils/logger.js.map +1 -0
- package/lib/common/utils/promise-queue.d.ts +48 -0
- package/lib/common/utils/promise-queue.d.ts.map +1 -0
- package/lib/common/utils/promise-queue.js +93 -0
- package/lib/common/utils/promise-queue.js.map +1 -0
- package/lib/common/utils/promise-queue.spec.d.ts +2 -0
- package/lib/common/utils/promise-queue.spec.d.ts.map +1 -0
- package/lib/common/utils/promise-queue.spec.js +117 -0
- package/lib/common/utils/promise-queue.spec.js.map +1 -0
- package/lib/common/utils/registry.d.ts +73 -0
- package/lib/common/utils/registry.d.ts.map +1 -0
- package/lib/common/utils/registry.js +160 -0
- package/lib/common/utils/registry.js.map +1 -0
- package/lib/common/utils/registry.spec.d.ts +2 -0
- package/lib/common/utils/registry.spec.d.ts.map +1 -0
- package/lib/common/utils/registry.spec.js +199 -0
- package/lib/common/utils/registry.spec.js.map +1 -0
- package/lib/node/abstract-json-model-storage.d.ts +45 -0
- package/lib/node/abstract-json-model-storage.d.ts.map +1 -0
- package/lib/node/abstract-json-model-storage.js +103 -0
- package/lib/node/abstract-json-model-storage.js.map +1 -0
- package/lib/node/di/app-module.d.ts +36 -0
- package/lib/node/di/app-module.d.ts.map +1 -0
- package/lib/node/di/app-module.js +91 -0
- package/lib/node/di/app-module.js.map +1 -0
- package/lib/node/di/winston-logger.d.ts +32 -0
- package/lib/node/di/winston-logger.d.ts.map +1 -0
- package/lib/node/di/winston-logger.js +57 -0
- package/lib/node/di/winston-logger.js.map +1 -0
- package/lib/node/gmodel/gmodel-storage.d.ts +34 -0
- package/lib/node/gmodel/gmodel-storage.d.ts.map +1 -0
- package/lib/node/gmodel/gmodel-storage.js +68 -0
- package/lib/node/gmodel/gmodel-storage.js.map +1 -0
- package/lib/node/index.d.ts +24 -0
- package/lib/node/index.d.ts.map +1 -0
- package/lib/node/index.js +40 -0
- package/lib/node/index.js.map +1 -0
- package/lib/node/launch/cli-parser.d.ts +34 -0
- package/lib/node/launch/cli-parser.d.ts.map +1 -0
- package/lib/node/launch/cli-parser.js +71 -0
- package/lib/node/launch/cli-parser.js.map +1 -0
- package/lib/node/launch/cli-parser.spec.d.ts +2 -0
- package/lib/node/launch/cli-parser.spec.d.ts.map +1 -0
- package/lib/node/launch/cli-parser.spec.js +56 -0
- package/lib/node/launch/cli-parser.spec.js.map +1 -0
- package/lib/node/launch/socket-cli-parser.d.ts +9 -0
- package/lib/node/launch/socket-cli-parser.d.ts.map +1 -0
- package/lib/node/launch/socket-cli-parser.js +43 -0
- package/lib/node/launch/socket-cli-parser.js.map +1 -0
- package/lib/node/launch/socket-cli-parser.spec.d.ts +2 -0
- package/lib/node/launch/socket-cli-parser.spec.d.ts.map +1 -0
- package/lib/node/launch/socket-cli-parser.spec.js +66 -0
- package/lib/node/launch/socket-cli-parser.spec.js.map +1 -0
- package/lib/node/launch/socket-server-launcher.d.ts +34 -0
- package/lib/node/launch/socket-server-launcher.d.ts.map +1 -0
- package/lib/node/launch/socket-server-launcher.js +104 -0
- package/lib/node/launch/socket-server-launcher.js.map +1 -0
- package/lib/node/launch/socket-server-launcher.spec.d.ts +17 -0
- package/lib/node/launch/socket-server-launcher.spec.d.ts.map +1 -0
- package/lib/node/launch/socket-server-launcher.spec.js +70 -0
- package/lib/node/launch/socket-server-launcher.spec.js.map +1 -0
- package/node.d.ts +16 -0
- package/node.js +18 -0
- package/package.json +76 -0
- package/src/browser/di/app-module.ts +55 -0
- package/src/browser/di/console-logger.ts +71 -0
- package/src/browser/index.ts +19 -0
- package/src/browser/launch/worker-server-launcher.ts +58 -0
- package/src/common/actions/action-dispatcher.spec.ts +290 -0
- package/src/common/actions/action-dispatcher.ts +152 -0
- package/src/common/actions/action-handler-registry.spec.ts +52 -0
- package/src/common/actions/action-handler-registry.ts +60 -0
- package/src/common/actions/action-handler.ts +62 -0
- package/src/common/actions/client-action-handler.ts +50 -0
- package/src/common/actions/global-action-provider.spec.ts +79 -0
- package/src/common/actions/global-action-provider.ts +72 -0
- package/src/common/command/command-stack.ts +74 -0
- package/src/common/command/command.ts +39 -0
- package/src/common/di/binding-target.spec.ts +147 -0
- package/src/common/di/binding-target.ts +188 -0
- package/src/common/di/client-session-module.ts +29 -0
- package/src/common/di/diagram-module.ts +397 -0
- package/src/common/di/glsp-module.ts +66 -0
- package/src/common/di/multi-binding.ts +89 -0
- package/src/common/di/multi-bindings.spec.ts +133 -0
- package/src/common/di/server-module.ts +131 -0
- package/src/common/di/service-identifiers.ts +39 -0
- package/src/common/diagram/diagram-configuration.ts +97 -0
- package/src/common/diagram/request-type-hints-action-handler.spec.ts +59 -0
- package/src/common/diagram/request-type-hints-action-handler.ts +36 -0
- package/src/common/features/clipboard/request-clipboard-data-action-handler.ts +51 -0
- package/src/common/features/contextactions/command-palette-action-provider.ts +94 -0
- package/src/common/features/contextactions/context-actions-provider-registry.spec.ts +69 -0
- package/src/common/features/contextactions/context-actions-provider-registry.ts +47 -0
- package/src/common/features/contextactions/context-actions-provider.ts +36 -0
- package/src/common/features/contextactions/context-menu-item-provider.ts +52 -0
- package/src/common/features/contextactions/request-context-actions-handler.spec.ts +75 -0
- package/src/common/features/contextactions/request-context-actions-handler.ts +37 -0
- package/src/common/features/contextactions/tool-palette-item-provider.spec.ts +46 -0
- package/src/common/features/contextactions/tool-palette-item-provider.ts +90 -0
- package/src/common/features/directediting/context-edit-validator-registry.spec.ts +54 -0
- package/src/common/features/directediting/context-edit-validator-registry.ts +43 -0
- package/src/common/features/directediting/context-edit-validator.ts +55 -0
- package/src/common/features/directediting/label-edit-validator.ts +35 -0
- package/src/common/features/directediting/request-edit-validation-handler.spec.ts +131 -0
- package/src/common/features/directediting/request-edit-validation-handler.ts +43 -0
- package/src/common/features/layout/layout-engine.ts +31 -0
- package/src/common/features/layout/layout-operation-handler.ts +47 -0
- package/src/common/features/model/gmodel-factory.ts +60 -0
- package/src/common/features/model/gmodel-index.ts +195 -0
- package/src/common/features/model/gmodel-serializer.spec.ts +141 -0
- package/src/common/features/model/gmodel-serializer.ts +175 -0
- package/src/common/features/model/model-state.ts +101 -0
- package/src/common/features/model/model-submission-handler.ts +106 -0
- package/src/common/features/model/request-model-action-handler.ts +67 -0
- package/src/common/features/model/save-model-action-handler.ts +38 -0
- package/src/common/features/model/source-model-storage.ts +49 -0
- package/src/common/features/navigation/json-opener-options.ts +69 -0
- package/src/common/features/navigation/navigation-target-provider-registry.ts +36 -0
- package/src/common/features/navigation/navigation-target-provider.ts +50 -0
- package/src/common/features/navigation/navigation-target-resolution.ts +22 -0
- package/src/common/features/navigation/navigation-target-resolver.ts +61 -0
- package/src/common/features/navigation/request-navigation-targets-action-handler.ts +39 -0
- package/src/common/features/navigation/resolve-navigation-targets-action-handler.ts +42 -0
- package/src/common/features/popup/popup-model-factory.ts +38 -0
- package/src/common/features/popup/request-popup-model-action-handler.ts +60 -0
- package/src/common/features/validation/model-validator.ts +34 -0
- package/src/common/features/validation/request-markers-handler.ts +51 -0
- package/src/common/gmodel/README.md +7 -0
- package/src/common/gmodel/apply-label-edit-operation-handler.spec.ts +40 -0
- package/src/common/gmodel/apply-label-edit-operation-handler.ts +38 -0
- package/src/common/gmodel/change-bounds-operation-handler.ts +58 -0
- package/src/common/gmodel/change-routing-points-operation-handler.ts +39 -0
- package/src/common/gmodel/computed-bounds-action-handler.ts +51 -0
- package/src/common/gmodel/delete-operation-handler.ts +115 -0
- package/src/common/gmodel/gmodel-create-edge-operation-handler.ts +58 -0
- package/src/common/gmodel/gmodel-create-node-operation-handler.ts +47 -0
- package/src/common/gmodel/gmodel-diagram-module.ts +81 -0
- package/src/common/gmodel/index.ts +26 -0
- package/src/common/gmodel/paste-operation-handler.ts +119 -0
- package/src/common/gmodel/reconnect-edge-operation-handler.ts +55 -0
- package/src/common/index.ts +88 -0
- package/src/common/launch/glsp-server-launcher.ts +70 -0
- package/src/common/operations/compound-operation-handler.ts +38 -0
- package/src/common/operations/create-operation-handler.ts +106 -0
- package/src/common/operations/cut-operation-handler.ts +38 -0
- package/src/common/operations/operation-action-handler.ts +69 -0
- package/src/common/operations/operation-handler-registry.spec.ts +50 -0
- package/src/common/operations/operation-handler-registry.ts +51 -0
- package/src/common/operations/operation-handler.ts +57 -0
- package/src/common/protocol/glsp-client-proxy.ts +65 -0
- package/src/common/protocol/glsp-server-listener.ts +39 -0
- package/src/common/protocol/glsp-server.spec.ts +150 -0
- package/src/common/protocol/glsp-server.ts +320 -0
- package/src/common/session/client-session-factory.spec.ts +60 -0
- package/src/common/session/client-session-factory.ts +70 -0
- package/src/common/session/client-session-initializer.ts +27 -0
- package/src/common/session/client-session-listener.ts +41 -0
- package/src/common/session/client-session-manager.spec.ts +82 -0
- package/src/common/session/client-session-manager.ts +182 -0
- package/src/common/session/client-session.ts +62 -0
- package/src/common/test/mock-util.ts +256 -0
- package/src/common/utils/args-util.ts +98 -0
- package/src/common/utils/client-options-util.ts +22 -0
- package/src/common/utils/glsp-server-error.ts +27 -0
- package/src/common/utils/layout-util.ts +164 -0
- package/src/common/utils/logger.ts +72 -0
- package/src/common/utils/promise-queue.spec.ts +138 -0
- package/src/common/utils/promise-queue.ts +103 -0
- package/src/common/utils/registry.spec.ts +223 -0
- package/src/common/utils/registry.ts +154 -0
- package/src/node/abstract-json-model-storage.ts +114 -0
- package/src/node/di/app-module.ts +102 -0
- package/src/node/di/winston-logger.ts +76 -0
- package/src/node/gmodel/gmodel-storage.ts +53 -0
- package/src/node/index.ts +23 -0
- package/src/node/launch/cli-parser.spec.ts +61 -0
- package/src/node/launch/cli-parser.ts +86 -0
- package/src/node/launch/socket-cli-parser.spec.ts +73 -0
- package/src/node/launch/socket-cli-parser.ts +52 -0
- package/src/node/launch/socket-server-launcher.spec.ts +68 -0
- package/src/node/launch/socket-server-launcher.ts +90 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { ActionMessage, Args, DisposeClientSessionParameters, InitializeClientSessionParameters, InitializeParameters, InitializeResult, MaybePromise } from '@eclipse-glsp/protocol';
|
|
17
|
+
import * as jsonrpc from 'vscode-jsonrpc';
|
|
18
|
+
import { MessageConnection } from 'vscode-jsonrpc';
|
|
19
|
+
import { GlobalActionProvider } from '../actions/global-action-provider';
|
|
20
|
+
import { ClientSession } from '../session/client-session';
|
|
21
|
+
import { ClientSessionManager } from '../session/client-session-manager';
|
|
22
|
+
import { Logger } from '../utils/logger';
|
|
23
|
+
import { JsonRpcGLSPClientProxy } from './glsp-client-proxy';
|
|
24
|
+
import { GLSPServerListener } from './glsp-server-listener';
|
|
25
|
+
export declare const GLSPServer: unique symbol;
|
|
26
|
+
/**
|
|
27
|
+
* Interface for implementations of a server component using json-rpc for client-server communication.
|
|
28
|
+
* Based on the specification of the Graphical Language Server Protocol:
|
|
29
|
+
* https://github.com/eclipse-glsp/glsp/blob/master/PROTOCOL.md
|
|
30
|
+
*/
|
|
31
|
+
export interface GLSPServer {
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* The `initialize` request has to be the first request from the client to the server. Until the server has responded
|
|
35
|
+
* with an {@link InitializeResult} no other request or notification can be handled and is expected to throw an
|
|
36
|
+
* error. A client is uniquely identified by an `applicationId` and has to specify on which `protocolVersion` it is
|
|
37
|
+
* based on. In addition, custom arguments can be provided in the `args` map to allow for custom initialization
|
|
38
|
+
* behavior on the server.
|
|
39
|
+
*
|
|
40
|
+
* After successfully initialization all {@link GLSPServerListener}s are notified via the
|
|
41
|
+
* {@link GLSPServerListener.serverInitialized} method.
|
|
42
|
+
*
|
|
43
|
+
* @param params the {@link InitializeParameters}.
|
|
44
|
+
* @returns A promise of the {@link InitializeResult} .
|
|
45
|
+
*
|
|
46
|
+
* @throws {@link Error} Subsequent initialize requests return the {@link InitializeResult} of the initial request
|
|
47
|
+
* if the given application id and protocol version are matching, otherwise the promise rejects with an error.
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
initialize(params: InitializeParameters): Promise<InitializeResult>;
|
|
51
|
+
/**
|
|
52
|
+
* The `initializeClientSession` request is sent to the server whenever a new graphical representation (diagram) is
|
|
53
|
+
* created. Each individual diagram on the client side counts as one session and has to provide a unique
|
|
54
|
+
* `clientSessionId` and its `diagramType`. In addition, custom arguments can be provided in the `args` map to allow
|
|
55
|
+
* for custom initialization behavior on the server. Subsequent `initializeClientSession` requests for the same
|
|
56
|
+
* client id and diagram type are expected to resolve successfully but don't have an actual effect because the
|
|
57
|
+
* corresponding client session is already initialized.
|
|
58
|
+
*
|
|
59
|
+
* @param params the {@link InitializeClientSessionParameters}.
|
|
60
|
+
* @returns A promise that completes when the initialization was successful.
|
|
61
|
+
*/
|
|
62
|
+
initializeClientSession(params: InitializeClientSessionParameters): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* The 'DisposeClientSession' request is sent to the server when a graphical representation (diagram) is no longer
|
|
65
|
+
* needed, e.g. the tab containing the diagram widget has been closed. The session is identified by its unique
|
|
66
|
+
* `clientSessionId`. In addition, custom arguments can be provided in the `args` map to allow for custom dispose
|
|
67
|
+
* behavior on the server.
|
|
68
|
+
*
|
|
69
|
+
* @param params the {@link DisposeClientSessionParameters}.
|
|
70
|
+
* @returns A `void` promise that completes if the disposal was successful.
|
|
71
|
+
*
|
|
72
|
+
*/
|
|
73
|
+
disposeClientSession(params: DisposeClientSessionParameters): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* A `process` notification is sent from the client to server when the server should handle i.e. process a specific
|
|
76
|
+
* {@link ActionMessage}. Any communication that is performed between initialization and shutdown is handled by
|
|
77
|
+
* sending action messages, either from the client to the server or from the server to the client. This is the core
|
|
78
|
+
* part of the Graphical Language Server Protocol.
|
|
79
|
+
*
|
|
80
|
+
* @param message The {@link ActionMessage} that should be processed.
|
|
81
|
+
*/
|
|
82
|
+
process(message: ActionMessage): void;
|
|
83
|
+
/**
|
|
84
|
+
* The `shutdown` notification is sent from the client to the server if the client disconnects from the server (e.g.
|
|
85
|
+
* the client application has been closed).
|
|
86
|
+
* This gives the server a chance to clean up and dispose any resources dedicated to the client and its sessions.
|
|
87
|
+
* All {@link GLSPServerListener}s are notified via the {@link GLSPServerListener.serverShutDown} method.
|
|
88
|
+
* Afterwards the server instance is considered to be disposed and can no longer be used for handling requests.
|
|
89
|
+
*
|
|
90
|
+
*/
|
|
91
|
+
shutdown(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Register a new {@link GLSPServerListener}.
|
|
94
|
+
*
|
|
95
|
+
* @param listener The listener that should be registered.
|
|
96
|
+
* @returns `true` if the listener was registered successfully, `false` otherwise (e.g. listener is already
|
|
97
|
+
* registered).
|
|
98
|
+
*/
|
|
99
|
+
addListener(listener: GLSPServerListener): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Unregister a {@link GLSPServerListener}.
|
|
102
|
+
*
|
|
103
|
+
* @param listener The listener that should be removed
|
|
104
|
+
* @returns 'true' if the listener was unregistered successfully, `false` otherwise (e.g. listener is was not
|
|
105
|
+
* registered in the first place).
|
|
106
|
+
*/
|
|
107
|
+
removeListener(listener: GLSPServerListener): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* get a {@link ClientSession}.
|
|
110
|
+
*
|
|
111
|
+
* @param sessionId The id of the session to get
|
|
112
|
+
* @returns The either the ClientSession or undefined, if no ClientSession was found for the given id.
|
|
113
|
+
*/
|
|
114
|
+
getClientSession(sessionId: string): ClientSession | undefined;
|
|
115
|
+
}
|
|
116
|
+
export declare const JsonRpcGLSPServer: unique symbol;
|
|
117
|
+
export interface JsonRpcGLSPServer extends GLSPServer {
|
|
118
|
+
connect(connection: jsonrpc.MessageConnection): void;
|
|
119
|
+
}
|
|
120
|
+
export declare class DefaultGLSPServer implements JsonRpcGLSPServer {
|
|
121
|
+
static readonly PROTOCOL_VERSION = "1.0.0";
|
|
122
|
+
protected logger: Logger;
|
|
123
|
+
protected sessionManager: ClientSessionManager;
|
|
124
|
+
protected actionProvider: GlobalActionProvider;
|
|
125
|
+
protected glspClient: JsonRpcGLSPClientProxy;
|
|
126
|
+
protected initializeResult?: InitializeResult;
|
|
127
|
+
protected applicationId: string;
|
|
128
|
+
protected clientSessions: Map<string, ClientSession>;
|
|
129
|
+
protected serverListeners: GLSPServerListener[];
|
|
130
|
+
constructor(serverListeners?: GLSPServerListener[]);
|
|
131
|
+
protected setupJsonRpc(connection: MessageConnection): void;
|
|
132
|
+
protected validateProtocolVersion(params: InitializeParameters): void;
|
|
133
|
+
protected validateServerInitialized(): void;
|
|
134
|
+
initialize(params: InitializeParameters): Promise<InitializeResult>;
|
|
135
|
+
protected handleInitializeArgs(result: InitializeResult, args: Args | undefined): MaybePromise<InitializeResult>;
|
|
136
|
+
initializeClientSession(params: InitializeClientSessionParameters): Promise<void>;
|
|
137
|
+
protected handleInitializeClientSessionArgs(args: Args | undefined): MaybePromise<void>;
|
|
138
|
+
disposeClientSession(params: DisposeClientSessionParameters): Promise<void>;
|
|
139
|
+
protected handleDisposeClientSessionArgs(args: Args | undefined): Promise<void>;
|
|
140
|
+
process(message: ActionMessage): void;
|
|
141
|
+
protected handleProcessError(message: ActionMessage, reason: any): void | PromiseLike<void>;
|
|
142
|
+
getClientSession(sessionId: string): ClientSession | undefined;
|
|
143
|
+
shutdown(): void;
|
|
144
|
+
connect(connection: jsonrpc.MessageConnection): void;
|
|
145
|
+
protected isInitialized(): boolean;
|
|
146
|
+
addListener(listener: GLSPServerListener): boolean;
|
|
147
|
+
removeListener(listener: GLSPServerListener): boolean;
|
|
148
|
+
protected getListenersToNotify(method: keyof GLSPServerListener): GLSPServerListener[];
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=glsp-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glsp-server.d.ts","sourceRoot":"","sources":["../../../src/common/protocol/glsp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,aAAa,EACb,IAAI,EACJ,8BAA8B,EAE9B,iCAAiC,EACjC,oBAAoB,EACpB,gBAAgB,EAEhB,YAAY,EAIf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,eAAO,MAAM,UAAU,eAAuB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEpE;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,MAAM,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF;;;;;;;;;OASG;IACH,oBAAoB,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAEtC;;;;;;;OAOG;IACH,QAAQ,IAAI,IAAI,CAAC;IAEjB;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAEnD;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAEtD;;;;;OAKG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;CAClE;AAED,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAE7D,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACjD,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CACxD;AAED,qBACa,iBAAkB,YAAW,iBAAiB;IACvD,gBAAuB,gBAAgB,WAAW;IAGlD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAGzB,SAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAG/C,SAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAG/C,SAAS,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAE7C,SAAS,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE9C,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrD,SAAS,CAAC,eAAe,EAAE,kBAAkB,EAAE,CAAM;gBAEI,eAAe,GAAE,kBAAkB,EAAO;IAKnG,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAY3D,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IASrE,SAAS,CAAC,yBAAyB,IAAI,IAAI;IAM9B,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2BhF,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,YAAY,CAAC,gBAAgB,CAAC;IAInG,uBAAuB,CAAC,MAAM,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9F,SAAS,CAAC,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IAI1E,oBAAoB,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;cAUxE,8BAA8B,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrF,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAYrC,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IAa3F,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIvD,QAAQ,IAAI,IAAI;IAOhB,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI;IAK3D,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO;IAKlD,cAAc,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO;IAKrD,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,kBAAkB,GAAG,kBAAkB,EAAE;CAGzF"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var DefaultGLSPServer_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.DefaultGLSPServer = exports.JsonRpcGLSPServer = exports.GLSPServer = void 0;
|
|
17
|
+
/********************************************************************************
|
|
18
|
+
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
19
|
+
*
|
|
20
|
+
* This program and the accompanying materials are made available under the
|
|
21
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
22
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
23
|
+
*
|
|
24
|
+
* This Source Code may also be made available under the following Secondary
|
|
25
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
26
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
27
|
+
* with the GNU Classpath Exception which is available at
|
|
28
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
29
|
+
*
|
|
30
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
31
|
+
********************************************************************************/
|
|
32
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
33
|
+
const inversify_1 = require("inversify");
|
|
34
|
+
const global_action_provider_1 = require("../actions/global-action-provider");
|
|
35
|
+
const client_session_manager_1 = require("../session/client-session-manager");
|
|
36
|
+
const glsp_server_error_1 = require("../utils/glsp-server-error");
|
|
37
|
+
const logger_1 = require("../utils/logger");
|
|
38
|
+
const glsp_client_proxy_1 = require("./glsp-client-proxy");
|
|
39
|
+
const glsp_server_listener_1 = require("./glsp-server-listener");
|
|
40
|
+
exports.GLSPServer = Symbol('GLSPServer');
|
|
41
|
+
exports.JsonRpcGLSPServer = Symbol('JsonRpcGLSPServer');
|
|
42
|
+
let DefaultGLSPServer = DefaultGLSPServer_1 = class DefaultGLSPServer {
|
|
43
|
+
constructor(serverListeners = []) {
|
|
44
|
+
this.serverListeners = [];
|
|
45
|
+
this.clientSessions = new Map();
|
|
46
|
+
serverListeners.forEach(listener => this.addListener(listener));
|
|
47
|
+
}
|
|
48
|
+
setupJsonRpc(connection) {
|
|
49
|
+
connection.onRequest(protocol_1.JsonrpcGLSPClient.InitializeRequest.method, (params) => this.initialize(params));
|
|
50
|
+
connection.onRequest(protocol_1.JsonrpcGLSPClient.InitializeClientSessionRequest, (params) => this.initializeClientSession(params));
|
|
51
|
+
connection.onRequest(protocol_1.JsonrpcGLSPClient.DisposeClientSessionRequest, (params) => this.disposeClientSession(params));
|
|
52
|
+
connection.onNotification(protocol_1.JsonrpcGLSPClient.ActionMessageNotification, message => this.process(message));
|
|
53
|
+
connection.onNotification(protocol_1.JsonrpcGLSPClient.ShutdownNotification, () => this.shutdown());
|
|
54
|
+
}
|
|
55
|
+
validateProtocolVersion(params) {
|
|
56
|
+
if (params.protocolVersion !== DefaultGLSPServer_1.PROTOCOL_VERSION) {
|
|
57
|
+
throw new Error(
|
|
58
|
+
// eslint-disable-next-line max-len
|
|
59
|
+
`Protocol version mismatch! The client protocol version ${params.protocolVersion} is not compatible with the server protocol version ${DefaultGLSPServer_1.PROTOCOL_VERSION}!`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
validateServerInitialized() {
|
|
63
|
+
if (!this.isInitialized()) {
|
|
64
|
+
throw new Error('This GLSP server has not been initialized.');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async initialize(params) {
|
|
68
|
+
this.logger.info(`Initializing server with: applicationId: ${params.applicationId}, protocolVersion: ${params.protocolVersion}`);
|
|
69
|
+
this.validateProtocolVersion(params);
|
|
70
|
+
if (this.isInitialized()) {
|
|
71
|
+
if (params.applicationId !== this.applicationId) {
|
|
72
|
+
throw new Error(`Could not initialize GLSP server for application ${params.applicationId}.
|
|
73
|
+
Server has already been initialized for different application with id ${this.applicationId}`);
|
|
74
|
+
}
|
|
75
|
+
if (this.initializeResult) {
|
|
76
|
+
return this.initializeResult;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
this.applicationId = params.applicationId;
|
|
80
|
+
const serverActions = {};
|
|
81
|
+
this.actionProvider.serverActionKinds.forEach((kinds, diagramType) => (serverActions[diagramType] = kinds));
|
|
82
|
+
let result = { protocolVersion: DefaultGLSPServer_1.PROTOCOL_VERSION, serverActions };
|
|
83
|
+
result = await this.handleInitializeArgs(result, params.args);
|
|
84
|
+
this.getListenersToNotify('serverInitialized').forEach((listener) => listener.serverInitialized(this));
|
|
85
|
+
this.initializeResult = result;
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
handleInitializeArgs(result, args) {
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
async initializeClientSession(params) {
|
|
92
|
+
this.logger.info(`Initializing client session with: clientSessionId: '${params.clientSessionId}', diagramType: '${params.diagramType}'`);
|
|
93
|
+
this.validateServerInitialized();
|
|
94
|
+
const session = this.sessionManager.getOrCreateClientSession(params);
|
|
95
|
+
this.clientSessions.set(params.clientSessionId, session);
|
|
96
|
+
return this.handleInitializeClientSessionArgs(params.args);
|
|
97
|
+
}
|
|
98
|
+
handleInitializeClientSessionArgs(args) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
async disposeClientSession(params) {
|
|
102
|
+
this.logger.debug('Dispose client session with:', params);
|
|
103
|
+
this.validateServerInitialized();
|
|
104
|
+
if (this.sessionManager.disposeClientSession(params.clientSessionId)) {
|
|
105
|
+
this.clientSessions.delete(params.clientSessionId);
|
|
106
|
+
return this.handleDisposeClientSessionArgs(params.args);
|
|
107
|
+
}
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
async handleDisposeClientSessionArgs(args) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
process(message) {
|
|
114
|
+
this.validateServerInitialized();
|
|
115
|
+
this.logger.info(`process [action=${message.action.kind}, clientId=${message.clientId}]`);
|
|
116
|
+
const clientSessionId = message.clientId;
|
|
117
|
+
const clientSession = this.clientSessions.get(clientSessionId);
|
|
118
|
+
if (!clientSession) {
|
|
119
|
+
throw new Error(`No client session has been initialized for client id: ${clientSessionId}`);
|
|
120
|
+
}
|
|
121
|
+
clientSession.actionDispatcher.dispatch(message.action).catch(error => this.handleProcessError(message, error));
|
|
122
|
+
}
|
|
123
|
+
handleProcessError(message, reason) {
|
|
124
|
+
var _a, _b, _c;
|
|
125
|
+
let errorMsg = `Could not process action: '${message.action.kind}`;
|
|
126
|
+
this.logger.error(errorMsg);
|
|
127
|
+
this.logger.error(reason);
|
|
128
|
+
let details = (_a = reason === null || reason === void 0 ? void 0 : reason.toString) === null || _a === void 0 ? void 0 : _a.call(reason);
|
|
129
|
+
if (reason instanceof glsp_server_error_1.GLSPServerError) {
|
|
130
|
+
details = (_c = (_b = reason.cause) === null || _b === void 0 ? void 0 : _b.toString) === null || _c === void 0 ? void 0 : _c.call(_b);
|
|
131
|
+
errorMsg = reason.message;
|
|
132
|
+
}
|
|
133
|
+
const errorAction = protocol_1.ServerMessageAction.create(errorMsg, { severity: 'ERROR', details });
|
|
134
|
+
this.glspClient.process({ clientId: message.clientId, action: errorAction });
|
|
135
|
+
}
|
|
136
|
+
getClientSession(sessionId) {
|
|
137
|
+
return this.clientSessions.get(sessionId);
|
|
138
|
+
}
|
|
139
|
+
shutdown() {
|
|
140
|
+
this.logger.info('Shutdown GLSP Server');
|
|
141
|
+
this.getListenersToNotify('serverShutDown').forEach(listener => listener.serverShutDown(this));
|
|
142
|
+
this.clientSessions.clear();
|
|
143
|
+
this.initializeResult = undefined;
|
|
144
|
+
}
|
|
145
|
+
connect(connection) {
|
|
146
|
+
this.setupJsonRpc(connection);
|
|
147
|
+
this.glspClient.connect(connection);
|
|
148
|
+
}
|
|
149
|
+
isInitialized() {
|
|
150
|
+
return this.initializeResult !== undefined;
|
|
151
|
+
}
|
|
152
|
+
addListener(listener) {
|
|
153
|
+
(0, protocol_1.distinctAdd)(this.serverListeners, listener);
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
removeListener(listener) {
|
|
157
|
+
(0, protocol_1.remove)(this.serverListeners, listener);
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
getListenersToNotify(method) {
|
|
161
|
+
return this.serverListeners.filter(listener => listener[method]);
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
DefaultGLSPServer.PROTOCOL_VERSION = '1.0.0';
|
|
165
|
+
__decorate([
|
|
166
|
+
(0, inversify_1.inject)(logger_1.Logger),
|
|
167
|
+
__metadata("design:type", logger_1.Logger)
|
|
168
|
+
], DefaultGLSPServer.prototype, "logger", void 0);
|
|
169
|
+
__decorate([
|
|
170
|
+
(0, inversify_1.inject)(client_session_manager_1.ClientSessionManager),
|
|
171
|
+
__metadata("design:type", Object)
|
|
172
|
+
], DefaultGLSPServer.prototype, "sessionManager", void 0);
|
|
173
|
+
__decorate([
|
|
174
|
+
(0, inversify_1.inject)(global_action_provider_1.GlobalActionProvider),
|
|
175
|
+
__metadata("design:type", Object)
|
|
176
|
+
], DefaultGLSPServer.prototype, "actionProvider", void 0);
|
|
177
|
+
__decorate([
|
|
178
|
+
(0, inversify_1.inject)(glsp_client_proxy_1.JsonRpcGLSPClientProxy),
|
|
179
|
+
__metadata("design:type", Object)
|
|
180
|
+
], DefaultGLSPServer.prototype, "glspClient", void 0);
|
|
181
|
+
DefaultGLSPServer = DefaultGLSPServer_1 = __decorate([
|
|
182
|
+
(0, inversify_1.injectable)(),
|
|
183
|
+
__param(0, (0, inversify_1.multiInject)(glsp_server_listener_1.GLSPServerListener)),
|
|
184
|
+
__param(0, (0, inversify_1.optional)()),
|
|
185
|
+
__metadata("design:paramtypes", [Array])
|
|
186
|
+
], DefaultGLSPServer);
|
|
187
|
+
exports.DefaultGLSPServer = DefaultGLSPServer;
|
|
188
|
+
//# sourceMappingURL=glsp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glsp-server.js","sourceRoot":"","sources":["../../../src/common/protocol/glsp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glsp-server.spec.d.ts","sourceRoot":"","sources":["../../../src/common/protocol/glsp-server.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chai_1 = require("chai");
|
|
4
|
+
const inversify_1 = require("inversify");
|
|
5
|
+
const sinon = require("sinon");
|
|
6
|
+
const global_action_provider_1 = require("../actions/global-action-provider");
|
|
7
|
+
const client_session_manager_1 = require("../session/client-session-manager");
|
|
8
|
+
const mock = require("../test/mock-util");
|
|
9
|
+
const logger_1 = require("../utils/logger");
|
|
10
|
+
const glsp_client_proxy_1 = require("./glsp-client-proxy");
|
|
11
|
+
const glsp_server_1 = require("./glsp-server");
|
|
12
|
+
const glsp_server_listener_1 = require("./glsp-server-listener");
|
|
13
|
+
const assert = require("assert");
|
|
14
|
+
describe('test DefaultGLSPServer', () => {
|
|
15
|
+
const container = new inversify_1.Container();
|
|
16
|
+
const clientSessionId = 'myClientSession';
|
|
17
|
+
const diagramType = 'myDiagram';
|
|
18
|
+
const applicationId = 'Test';
|
|
19
|
+
const protocolVersion = '1.0.0';
|
|
20
|
+
const serverActionKinds = new Map();
|
|
21
|
+
serverActionKinds.set(diagramType, ['A1', 'A2']);
|
|
22
|
+
const sessionManager = new mock.StubClientSessionManager();
|
|
23
|
+
const spy_sessionManager_getOrCreate = sinon.spy(sessionManager, 'getOrCreateClientSession');
|
|
24
|
+
const spy_sessionManager_dispose = sinon.spy(sessionManager, 'disposeClientSession');
|
|
25
|
+
const listener1 = new mock.StubGLSPServerListener();
|
|
26
|
+
const spy_listener1_initialize = sinon.spy(listener1, 'serverInitialized');
|
|
27
|
+
const spy_listener1_shutdown = sinon.spy(listener1, 'serverShutDown');
|
|
28
|
+
const listener2 = new mock.StubGLSPServerListener();
|
|
29
|
+
const spy_listener2_initialize = sinon.spy(listener2, 'serverInitialized');
|
|
30
|
+
const spy_listener2_shutdown = sinon.spy(listener2, 'serverShutDown');
|
|
31
|
+
container.load(new inversify_1.ContainerModule(bind => {
|
|
32
|
+
bind(logger_1.Logger).toConstantValue(new mock.StubLogger());
|
|
33
|
+
bind(glsp_client_proxy_1.GLSPClientProxy).toConstantValue(new mock.StubGLSPClientProxy());
|
|
34
|
+
bind(glsp_client_proxy_1.JsonRpcGLSPClientProxy).toConstantValue(new mock.StubGLSPClientProxy());
|
|
35
|
+
bind(client_session_manager_1.ClientSessionManager).toConstantValue(sessionManager);
|
|
36
|
+
bind(global_action_provider_1.GlobalActionProvider).toConstantValue({ clientActionKinds: new Map(), serverActionKinds });
|
|
37
|
+
bind(glsp_server_listener_1.GLSPServerListener).toConstantValue(listener1);
|
|
38
|
+
}));
|
|
39
|
+
const glspServer = container.resolve(glsp_server_1.DefaultGLSPServer);
|
|
40
|
+
beforeEach(() => {
|
|
41
|
+
spy_sessionManager_getOrCreate.restore();
|
|
42
|
+
spy_sessionManager_dispose.restore();
|
|
43
|
+
spy_listener1_initialize.restore();
|
|
44
|
+
spy_listener1_shutdown.restore();
|
|
45
|
+
spy_listener2_initialize.restore();
|
|
46
|
+
spy_listener2_shutdown.restore();
|
|
47
|
+
});
|
|
48
|
+
it('Test calls before server initialization (should throw errors)', async () => {
|
|
49
|
+
assert.rejects(() => glspServer.initializeClientSession({ clientSessionId: 'id', diagramType: 'type' }));
|
|
50
|
+
assert.rejects(() => glspServer.disposeClientSession({ clientSessionId: 'id' }));
|
|
51
|
+
assert.throws(() => glspServer.process({ clientId: 'id', action: { kind: 'action' } }));
|
|
52
|
+
});
|
|
53
|
+
it('addListener - add existing listener', () => {
|
|
54
|
+
const originalSize = glspServer['serverListeners'].length;
|
|
55
|
+
glspServer.addListener(listener1);
|
|
56
|
+
(0, chai_1.expect)(glspServer['serverListeners'].length).to.be.equal(originalSize);
|
|
57
|
+
});
|
|
58
|
+
it('addListener - add new listener', () => {
|
|
59
|
+
const originalSize = glspServer['serverListeners'].length;
|
|
60
|
+
glspServer.addListener(listener2);
|
|
61
|
+
(0, chai_1.expect)(glspServer['serverListeners']).to.include(listener2);
|
|
62
|
+
(0, chai_1.expect)(glspServer['serverListeners'].length).to.be.equal(originalSize + 1);
|
|
63
|
+
});
|
|
64
|
+
it('removeListener - remove non-existing listener', () => {
|
|
65
|
+
const originalSize = glspServer['serverListeners'].length;
|
|
66
|
+
glspServer.removeListener({});
|
|
67
|
+
(0, chai_1.expect)(glspServer['serverListeners'].length).to.be.equal(originalSize);
|
|
68
|
+
});
|
|
69
|
+
it('removeListener - remove existing listener', () => {
|
|
70
|
+
const originalSize = glspServer['serverListeners'].length;
|
|
71
|
+
glspServer.removeListener(listener2);
|
|
72
|
+
(0, chai_1.expect)(glspServer['serverListeners'].length).to.be.equal(originalSize - 1);
|
|
73
|
+
});
|
|
74
|
+
it('initialize - with wrong protocol version', async () => {
|
|
75
|
+
const initializeParameters = { applicationId, protocolVersion: 'abc' };
|
|
76
|
+
assert.rejects(glspServer.initialize(initializeParameters));
|
|
77
|
+
});
|
|
78
|
+
it('initialize - with correct parameters', async () => {
|
|
79
|
+
const initializeParameters = { applicationId, protocolVersion };
|
|
80
|
+
const result = await glspServer.initialize(initializeParameters);
|
|
81
|
+
(0, chai_1.expect)(result.protocolVersion).to.be.equal(protocolVersion);
|
|
82
|
+
(0, chai_1.expect)(result.serverActions[diagramType]).to.be.equal(serverActionKinds.get(diagramType));
|
|
83
|
+
(0, chai_1.expect)(result.serverActions[diagramType]).to.be.equal(serverActionKinds.get(diagramType));
|
|
84
|
+
(0, chai_1.expect)(spy_listener1_initialize.calledWith(glspServer));
|
|
85
|
+
(0, chai_1.expect)(spy_listener2_initialize.notCalled);
|
|
86
|
+
});
|
|
87
|
+
it('initialize - subsequent call with same parameters', async () => {
|
|
88
|
+
const initializeParameters = { applicationId, protocolVersion };
|
|
89
|
+
const result = await glspServer.initialize(initializeParameters);
|
|
90
|
+
(0, chai_1.expect)(result.protocolVersion).to.be.equal(protocolVersion);
|
|
91
|
+
(0, chai_1.expect)(result.serverActions[diagramType]).to.be.equal(serverActionKinds.get(diagramType));
|
|
92
|
+
(0, chai_1.expect)(result.serverActions[diagramType]).to.be.equal(serverActionKinds.get(diagramType));
|
|
93
|
+
});
|
|
94
|
+
it('initialize - subsequent call with other parameters', async () => {
|
|
95
|
+
const initializeParameters = { applicationId: 'someOtherApp', protocolVersion: 'AnotherProtocolVersion' };
|
|
96
|
+
await assert.rejects(() => glspServer.initialize(initializeParameters));
|
|
97
|
+
});
|
|
98
|
+
it('initialize client session', async () => {
|
|
99
|
+
const initializeClientSessionParameters = {
|
|
100
|
+
clientSessionId,
|
|
101
|
+
diagramType
|
|
102
|
+
};
|
|
103
|
+
await glspServer.initializeClientSession(initializeClientSessionParameters);
|
|
104
|
+
(0, chai_1.expect)(spy_sessionManager_getOrCreate.calledWith(initializeClientSessionParameters));
|
|
105
|
+
});
|
|
106
|
+
it('dispose client session', async () => {
|
|
107
|
+
const disposeClientSessionParameters = {
|
|
108
|
+
clientSessionId
|
|
109
|
+
};
|
|
110
|
+
await glspServer.disposeClientSession(disposeClientSessionParameters);
|
|
111
|
+
(0, chai_1.expect)(spy_sessionManager_dispose.calledWith(clientSessionId));
|
|
112
|
+
});
|
|
113
|
+
it('shutdown server', async () => {
|
|
114
|
+
glspServer.shutdown();
|
|
115
|
+
(0, chai_1.expect)(spy_listener1_shutdown.calledWith(glspServer));
|
|
116
|
+
(0, chai_1.expect)(spy_listener2_shutdown.notCalled);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
//# sourceMappingURL=glsp-server.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glsp-server.spec.js","sourceRoot":"","sources":["../../../src/common/protocol/glsp-server.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2022-2023 STMicroelectronics and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { InitializeClientSessionParameters } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { Container, ContainerModule } from 'inversify';
|
|
18
|
+
import { GLSPClientProxy } from '../protocol/glsp-client-proxy';
|
|
19
|
+
import { ClientSession } from './client-session';
|
|
20
|
+
export declare const ClientSessionFactory: unique symbol;
|
|
21
|
+
/**
|
|
22
|
+
* Handles the construction of new {@link ClientSession}. A client session factory has to know
|
|
23
|
+
* how to derive the client session specific injector and its entrypoint (i.e. the {@link ActionDispatcher}
|
|
24
|
+
* from a given client session id and a given diagram type.
|
|
25
|
+
*/
|
|
26
|
+
export interface ClientSessionFactory {
|
|
27
|
+
/**
|
|
28
|
+
* Create a new {@link ClientSession} based on the given client session id and diagram type.
|
|
29
|
+
*
|
|
30
|
+
* @param clientSessionId The client session id.
|
|
31
|
+
* @param diagramType The diagram type.
|
|
32
|
+
* @returns A new instance of {@link ClientSession} that correlates to the given input parameters.
|
|
33
|
+
*/
|
|
34
|
+
create(params: InitializeClientSessionParameters): ClientSession;
|
|
35
|
+
}
|
|
36
|
+
export declare class DefaultClientSessionFactory implements ClientSessionFactory {
|
|
37
|
+
protected serverContainer: Container;
|
|
38
|
+
protected diagramModules: Map<string, ContainerModule[]>;
|
|
39
|
+
protected glspClient: GLSPClientProxy;
|
|
40
|
+
create(params: InitializeClientSessionParameters): ClientSession;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=client-session-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-session-factory.d.ts","sourceRoot":"","sources":["../../../src/common/session/client-session-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAsB,MAAM,WAAW,CAAC;AAI3E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAwB,MAAM,kBAAkB,CAAC;AAGvE,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,iCAAiC,GAAG,aAAa,CAAC;CACpE;AAED,qBACa,2BAA4B,YAAW,oBAAoB;IAEpE,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC;IAGrC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAGzD,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC;IAEtC,MAAM,CAAC,MAAM,EAAE,iCAAiC,GAAG,aAAa;CAenE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DefaultClientSessionFactory = exports.ClientSessionFactory = void 0;
|
|
13
|
+
const inversify_1 = require("inversify");
|
|
14
|
+
const action_dispatcher_1 = require("../actions/action-dispatcher");
|
|
15
|
+
const client_session_module_1 = require("../di/client-session-module");
|
|
16
|
+
const service_identifiers_1 = require("../di/service-identifiers");
|
|
17
|
+
const glsp_client_proxy_1 = require("../protocol/glsp-client-proxy");
|
|
18
|
+
const glsp_server_error_1 = require("../utils/glsp-server-error");
|
|
19
|
+
const client_session_1 = require("./client-session");
|
|
20
|
+
const client_session_initializer_1 = require("./client-session-initializer");
|
|
21
|
+
exports.ClientSessionFactory = Symbol('ClientSessionFactory');
|
|
22
|
+
let DefaultClientSessionFactory = class DefaultClientSessionFactory {
|
|
23
|
+
create(params) {
|
|
24
|
+
const { clientSessionId: id, diagramType, args } = params;
|
|
25
|
+
const diagramModules = this.diagramModules.get(diagramType);
|
|
26
|
+
if (!diagramModules || diagramModules.length === 0) {
|
|
27
|
+
throw new glsp_server_error_1.GLSPServerError(`Could not retrieve diagram module configuration for diagram type: '${diagramType}''`);
|
|
28
|
+
}
|
|
29
|
+
const sessionModule = (0, client_session_module_1.createClientSessionModule)(id, this.glspClient);
|
|
30
|
+
const sessionContainer = this.serverContainer.createChild();
|
|
31
|
+
sessionContainer.load(...diagramModules, sessionModule);
|
|
32
|
+
const initializers = sessionContainer.getAll(client_session_initializer_1.ClientSessionInitializer);
|
|
33
|
+
initializers.forEach(service => service.initialize(args));
|
|
34
|
+
const actionDispatcher = sessionContainer.get(action_dispatcher_1.ActionDispatcher);
|
|
35
|
+
return new client_session_1.DefaultClientSession(id, diagramType, actionDispatcher, sessionContainer);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, inversify_1.inject)(service_identifiers_1.InjectionContainer),
|
|
40
|
+
__metadata("design:type", inversify_1.Container)
|
|
41
|
+
], DefaultClientSessionFactory.prototype, "serverContainer", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, inversify_1.inject)(service_identifiers_1.DiagramModules),
|
|
44
|
+
__metadata("design:type", Map)
|
|
45
|
+
], DefaultClientSessionFactory.prototype, "diagramModules", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, inversify_1.inject)(glsp_client_proxy_1.GLSPClientProxy),
|
|
48
|
+
__metadata("design:type", Object)
|
|
49
|
+
], DefaultClientSessionFactory.prototype, "glspClient", void 0);
|
|
50
|
+
DefaultClientSessionFactory = __decorate([
|
|
51
|
+
(0, inversify_1.injectable)()
|
|
52
|
+
], DefaultClientSessionFactory);
|
|
53
|
+
exports.DefaultClientSessionFactory = DefaultClientSessionFactory;
|
|
54
|
+
//# sourceMappingURL=client-session-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-session-factory.js","sourceRoot":"","sources":["../../../src/common/session/client-session-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAgBA,yCAA2E;AAC3E,oEAAgE;AAChE,uEAAwE;AACxE,mEAA+E;AAC/E,qEAAgE;AAChE,kEAA6D;AAC7D,qDAAuE;AACvE,6EAAwE;AAE3D,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAmB5D,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAUpC,MAAM,CAAC,MAAyC;QAC5C,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAChD,MAAM,IAAI,mCAAe,CAAC,sEAAsE,WAAW,IAAI,CAAC,CAAC;SACpH;QAED,MAAM,aAAa,GAAG,IAAA,iDAAyB,EAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;QAC5D,gBAAgB,CAAC,IAAI,CAAC,GAAG,cAAc,EAAE,aAAa,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAA2B,qDAAwB,CAAC,CAAC;QACjG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAmB,oCAAgB,CAAC,CAAC;QAClF,OAAO,IAAI,qCAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACzF,CAAC;CACJ,CAAA;AAxBG;IAAC,IAAA,kBAAM,EAAC,wCAAkB,CAAC;8BACA,qBAAS;oEAAC;AAErC;IAAC,IAAA,kBAAM,EAAC,oCAAc,CAAC;8BACG,GAAG;mEAA4B;AAEzD;IAAC,IAAA,kBAAM,EAAC,mCAAe,CAAC;;+DACc;AAR7B,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAyBvC;AAzBY,kEAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-session-factory.spec.d.ts","sourceRoot":"","sources":["../../../src/common/session/client-session-factory.spec.ts"],"names":[],"mappings":""}
|