I've a case when I want to start/stop a proxy server that will update my sandbox model.
The flow is as follows:
1) I put a "recorder" root concept instance
2) Somehow tell it to "start recording"
3) I setup browser's proxy to the recording URL
4) When I navigate in browser, "recorder" receives the requests and adds the relevant concept instances to the sandbox
5) Finally I somehow tell "recorder" to "stop recording"
The question is how to start/stop recording. As far as I can understand, MPS "run configuration" launches external process (like in Kajak "run script" example), so it is not that easy to communicate model updates back from that newly created process.
I am not sure if I would shoot myself in the foot by calling java APIs to start proxy controller right from "enabled:boolean" property change action.
In other words, it looks like I should be able to call random code from property setter and I should even be able to store "proxy recorder object" somewhere so I could turn it off when property switches from "enabled" to "disabled".
Is it ok to use property setters to launch such background activities?
Is there a way to use "run configuration" feature to launch in-process task? Using "run configuration" is nice since it provides clear feedback that the activity is running and it allows to observe execution logs.
Can I add "my own run configuration type" that will launch in-process activity so I can update MPS nodes directly without implementing some RPC?