If the GUI is used concurrently, one user may overwrite another user's cached list of product classes, processors etc. due to missing thread separation. This may lead to the GUI for a user logged in to mission A to show product classes from mission B.
Workaround: Disable caching (implemented).
Permanent solution: Add thread separation for instance variables in all GUI classes, and check for correct user/mission before use of cached data.
Note: Caching data may improve speed, but contradicts the principle of stateless behaviour.
If the GUI is used concurrently, one user may overwrite another user's cached list of product classes, processors etc. due to missing thread separation. This may lead to the GUI for a user logged in to mission A to show product classes from mission B.
Workaround: Disable caching (implemented).
Permanent solution: Add thread separation for instance variables in all GUI classes, and check for correct user/mission before use of cached data.
Note: Caching data may improve speed, but contradicts the principle of stateless behaviour.