Improve BaseExplorerContentProvider.loadChildren()
--------------------------------------------------
Key: JBIDE-21216
URL:
https://issues.jboss.org/browse/JBIDE-21216
Project: Tools (JBoss Tools)
Issue Type: Enhancement
Components: openshift
Affects Versions: 4.4.0.Alpha1
Reporter: Viacheslav Kabanovich
Assignee: Viacheslav Kabanovich
Labels: performance
Fix For: 4.4.0.Alpha1
This method may be called concurrently while children for current parentElement are being
loaded. Now for this case implementation calls directly getChildrenFor(parentElement)
which loads children in ui thread. So, if by some reason loading children in a separate
job took a lot of time, by the same reason this second call in ui thread may hang Eclipse
for some time.
Instead, it seams reasonable just to return the available loading stub as a child, when
loading job is completed it will call refresh.
[~adietish] please take a look at the pull request.