←Older revision | Revision as of 20:22, 7 January 2010 | ||
Line 7: | Line 7: | ||
For example recently we noticed an action in [[NetBeans]] that needed to find out whether currently selected project supports [[Java]] 5 or some later version. Given the advices of [[DCI]] it searched its context for a role called '''SourceLevel''' with a method returning the [[Java]] version of the selected project. Obviously it did this during painting to find out whether it shall be enabled or not. For most of the project types (usually [[Ant]] based) this worked fine. However for [[Maven]] projects this could took ages. Who's to blame? | For example recently we noticed an action in [[NetBeans]] that needed to find out whether currently selected project supports [[Java]] 5 or some later version. Given the advices of [[DCI]] it searched its context for a role called '''SourceLevel''' with a method returning the [[Java]] version of the selected project. Obviously it did this during painting to find out whether it shall be enabled or not. For most of the project types (usually [[Ant]] based) this worked fine. However for [[Maven]] projects this could took ages. Who's to blame? | ||
- | Either the ''data'' are provided too slowly. Then the [[Maven]] would need to be sped up. However sometimes it just takes time to get an information. Then the ''interaction'' needs to be improved to deal with ''data not ready yet'' and the '' | + | Either the ''data'' are provided too slowly. Then the [[Maven]] would need to be sped up. However sometimes it just takes time to get an information. Then the ''interaction'' needs to be improved to deal with ''data not ready yet'' and the ''role'' interface in the context needs to be enhanced to allow expressing such temporary data unavailability. Various situations may require different solutions, but in general it is not possible to say ''AWT thread shall be used only for painting''. It can be used only for that in [[MVC]], but in the [[Module system|modular world]] this also requires well designed ''role'' interfaces and their proper implementation. |