GFL 1.1 (December 25, 2002)
The Glaivestone Foundation Library (GFL) version 1.1 library is primarily a "cleanup" release of the GFL 1.0 release. The primary goal of the release was to tighten up the code base and javadoc for public release of the library under an open source license with source code and API documentation. The secondary goal of the release was to convert GFL development to use open source development tools (notably the Eclipse IDE and the Apache Ant make tools).
GFL 1.1 was built using the J2SE 1.3 compiler and class library. (We were constrained to stay at this level of the Java platform to support the JNav application, a plugin for the JBuilder Java IDE, which requires 1.3.)
Java: J2SE 1.3 or later
Third-party libraries: (none)
The Glaivestone Foundation Library (GFL) is released under the terms of the Common Public License (CPL) 1.0. The CPL is an open source license developed by IBM for use by open source originators and approved by the Open Source Initiative.
For further information on open source software and licensing, please refer to the opensource.org web site.
Additional information about the CPL is available on the IBM developerWorks site, in a section devoted to information about open source projects. According to the CPL FAQ, the CPL was designed to "...support and encourage the collaborative Open Source development of the code base, while maximizing the code's ability to be used and integrated with software licensed under other licenses, including many commercial licenses." The CPL was written so that "...any Open Source originator could use the terms ... [and so] is suitable to be used by all".
To install the Glaivestone Foundation Library, simply unzip the gfl.zip
file and add the gfl.jar
file in the lib
subdirectory to your Java CLASSPATH
MessageDialog
which is supposed to compute just the right size for the dialog to display its text content comes up short sometimes.
The MessageDialog
auto-sizing feature is supposed to correctly size the message window to just the right size for the contained text message. Current implementation doesn't work properly in all cases, however - notably for multi-line messages with line wrapping and embedded line breaks, where the sizing comes up a little bit short and the button at the bottom gets cut off a bit. The implementation is a kludge in any case and needs to be redone in a more appropriate fashion.
When the autosizing is corrected, the dialog should perhaps also be made non-resizable. It's actually convenient at the moment to allow user to reisze the message dialog as their workaround for the sizing problem but it's a bit odd and probably isn't really appropriate/necessary if MessageDialog
did the right thing for presenting its content nicely in the first place.
SessionLogWindow
gets random ordering of its output when messages are printed to both System.out
and System.err
.
This whole mapping-the-console-streams-to-a-view thing is perhaps not a very good idea anyway. It was originally created as a workaround for brain-damaged DOS box system console windows on Windows 9X/Me, which lose text. However, the command line windows have been improved in Windows XP and longer session logs don't get usually get lost now. Useful applications really shouldn't be dumping stuff onto the console streams anyway, they really ought to be architected to use a more suitable logging mechanism.