Take a look at how the portlet is initialized. Most of the classes use static variables, so there is exactly one grid for all users, there is exactly one FileDownloader for all users, etc.
This is a serious bug and should be fixed, otherwise there will be extremely random errors (race conditions, deadlocks).
There is no other way around this other than to actually refactor it.
No need to explain why this is a problem, I hope.
Take a look at how the portlet is initialized. Most of the classes use static variables, so there is exactly one grid for all users, there is exactly one
FileDownloader
for all users, etc.This is a serious bug and should be fixed, otherwise there will be extremely random errors (race conditions, deadlocks).
There is no other way around this other than to actually refactor it.