From: Jody G. <jod...@gm...> - 2009-11-08 11:44:31
|
Hi Michael: I tried recommending the swing module for graduation with the same line of reasoning previously (so I encourage this idea!). Test cases perform two things for us; sanity check to catch regressions and warning when api changes. With that in mind I would like to ask that the swing api be held in place by working examples. This should have the same effect; user list acts as a sanity check to catch regressions; and demo/example breaks when api changes. My own concern for the swing module is that it stay focused and not grow randomly as with previous attempts; I hope we can be very clear on the mandate this time around. I noticed during our tutorials that It is easy to add "Actions" to a JMapFrame menu in order to illustrate examples; I have been watching you create some cool examples for people on the user list and would like to see if we could smash the code into shape to make that easier for you? Regards, Jody On 01/11/2009, at 12:35 PM, Michael Bedward wrote: > Hi all, > > I've been thinking a little more about the swing module's status. The > two problems discussed previously were: > > 1. poor test coverage > 2. concern that Swing is poorly implemented on some platforms > > There are parts of the module where unit tests can and should be added > (e.g. component models), but for most of the module's contents there's > the hoary question of how to test graphical output. Andrea pointed out > the difficulties of comparing, for example, JMapPane display with a > reference image across different platforms. I recently ran into this > problem myself with unit tests in the jai-tools project where very > basic image comparisons were passing on some platforms and failing on > others. > > On a practical level, the graphical bits of the swing module are being > quite thoroughly tested by users. In addition to the posts on the user > list I also get quite a few off-list emails about it. People complain > very quickly when something as basic as displaying a map on screen or > using a custom file chooser isn't working properly ! > > In a former lifetime I was a contributor to the wxWidgets C++ GUI > library where not all parts of the library were available on all > platforms (e.g. Windoze vs Motif vs GDK). In a similar vein, I'm > wondering about the idea of treating the swing module as a special > case and putting it into a new module category, perhaps called > 'optional' or 'gui'... This would take it out of the unsupported > category (I had the conundrum of explaining to someone in Jody's > FOSS4G tutorial that it is a supported unsupported module) but make it > clear that it is separate to the core modules that we expect to run on > all platforms. The category could be covered by a maven profile to > easily exclude it (e.g. if, as Christian mentioned, Swing is not > reliable on IBM). > > The requirement for adequate unit testing of non-graphical parts of > the module would still apply. > > What do people think ? > > Michael |