-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Currently the communication is implemented with custom strings that are parsed by the extension. This should be improved.
List of things that could be improved:
-
Custom class of JSONTreeNode/TreeNodeCollection/JSONCompareResponse/... We definitely should create POJOs based on the EObjects and use an Gson or something similar to serialize objects where necessary instead of using a custom ObjectManager concept.
-
In general we need some documentation as it is not obvious what every field is supposed to do. There is UUID, reference UUID, match, graphical IDs, reference Graphical IDs, connections, etc.
-
Server-Client communication is done through I/O, i.e., System.out read by the client. Partially these are json objects but some information is encoded differently, e.g., the merges are just a concatenated string of type, target, and direction which are manually encoded and decoded. Using a standardized protocol such as JsonRPC would be nicer and simplify communication as Theia already has support for JsonRPC (e.g., forwarding from backend to server etc).