-
Notifications
You must be signed in to change notification settings - Fork 9
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
[Discussion] Consider typed ModelServerClient interface #22
Labels
question
Further information is requested
Comments
tortmayr
added a commit
that referenced
this issue
Jan 5, 2022
- Move packages into dedicated `packages` dir - Move downloading of theia plugins from root `package.json` to browser-app - Introduce root script for upgrading the fluent theia dependencies (`yarn ugprade:theia`) - Upgrade effective Theia version to 1.19.0 and swapt to ES2017 as default target. Add mocha dependencies and add config - Restructure repo and move packages and examples in dedicated directories - Extract ModelServerClient from modelserver-theia into separate package Rework ModelServerClient API so that -- The API is iinline with the current Java API -- The API returns concrete data objects instead of low level responses -- Overrides are provided to retrieve typed results where suitable (#22) -- The default impl uses the well established axios library for rest calls instead of a custom solution -- The implementation is isomorph and can be used in both web frontends and node backends. -- Rework can clean up Subscriptions API - Provide generic mocha test setup - Add simple request tests for the modelserver client (using moxios) Contributed on behalf of ST Microelectronics
tortmayr
added a commit
that referenced
this issue
Jan 5, 2022
- Move packages into dedicated `packages` dir - Move downloading of theia plugins from root `package.json` to browser-app - Introduce root script for upgrading the fluent theia dependencies (`yarn ugprade:theia`) - Upgrade effective Theia version to 1.19.0 and swapt to ES2017 as default target. Add mocha dependencies and add config - Restructure repo and move packages and examples in dedicated directories - Extract ModelServerClient from modelserver-theia into separate package Rework ModelServerClient API so that -- The API is iinline with the current Java API -- The API returns concrete data objects instead of low level responses -- Overrides are provided to retrieve typed results where suitable (#22) -- The default impl uses the well established axios library for rest calls instead of a custom solution -- The implementation is isomorph and can be used in both web frontends and node backends. -- Rework can clean up Subscriptions API - Provide generic mocha test setup - Add simple request tests for the modelserver client (using moxios) Contributed on behalf of ST Microelectronics
tortmayr
added a commit
that referenced
this issue
Jan 5, 2022
- Move packages into dedicated `packages` dir - Move downloading of theia plugins from root `package.json` to browser-app - Introduce root script for upgrading the fluent theia dependencies (`yarn ugprade:theia`) - Upgrade effective Theia version to 1.19.0 and swapt to ES2017 as default target. Add mocha dependencies and add config - Restructure repo and move packages and examples in dedicated directories - Extract ModelServerClient from modelserver-theia into separate package Rework ModelServerClient API so that -- The API is iinline with the current Java API -- The API returns concrete data objects instead of low level responses -- Overrides are provided to retrieve typed results where suitable (#22) -- The default impl uses the well established axios library for rest calls instead of a custom solution -- The implementation is isomorph and can be used in both web frontends and node backends. -- Rework can clean up Subscriptions API - Provide generic mocha test setup - Add simple request tests for the modelserver client (using moxios) Contributed on behalf of ST Microelectronics
ndoschek
pushed a commit
that referenced
this issue
Jan 25, 2022
* #65 Provide standalone modelserver-client - Move packages into dedicated `packages` dir - Move downloading of theia plugins from root `package.json` to browser-app - Introduce root script for upgrading the fluent theia dependencies (`yarn ugprade:theia`) - Upgrade effective Theia version to 1.19.0 and swapt to ES2017 as default target. Add mocha dependencies and add config - Restructure repo and move packages and examples in dedicated directories - Extract ModelServerClient from modelserver-theia into separate package Rework ModelServerClient API so that -- The API is iinline with the current Java API -- The API returns concrete data objects instead of low level responses -- Overrides are provided to retrieve typed results where suitable (#22) -- The default impl uses the well established axios library for rest calls instead of a custom solution -- The implementation is isomorph and can be used in both web frontends and node backends. -- Rework can clean up Subscriptions API - Provide generic mocha test setup - Add simple request tests for the modelserver client (using moxios) - Use @theia/core/shared/inversify dependency where applicable - Fix Jenkinsbuild - Fix eslint setup -- Align eslint dependencies so that the are compatible with the node 12 version used in Theia. Contributed on behalf of ST Microelectronics
Fixed with #69 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I want to open the discussion whether we believe that the ModelServerClient API should be typed.
In general, the model server API is generic (mostly String values) and may support different formats (XMI, JSON, etc.). Therefore it is the responsibility of the provider to actually interpret the string that is returned from the server. The
DefaultModelServerClient
does not interpret any data and simply returns the String values.However, as was raised in #20, we may want to provide an interpretation as JSON objects if the format is JSOn. This could be done through an additional implementation of the
ModelServerClient
interface but would require a generic parameter in that interface, similar to what is provided on the Java side, see [1] and its implementation in [2].Any thoughts?
[1] https://github.com/eclipse-emfcloud/emfcloud-modelserver/blob/master/bundles/org.eclipse.emfcloud.modelserver.client/src/org/eclipse/emfcloud/modelserver/client/ModelServerClientApiV1.java
[2] https://github.com/eclipse-emfcloud/emfcloud-modelserver/blob/master/bundles/org.eclipse.emfcloud.modelserver.client/src/org/eclipse/emfcloud/modelserver/client/ModelServerClient.java
The text was updated successfully, but these errors were encountered: