HomeAPIGuideSF Project Home

JAPI Pending Tasks

This is a scratch board for pending tasks that need to be done with JAPI. The tasks are not in any particular order, just random. They are here for public discussion before they become BUG / RFE entries in the bug tracker.

Review package descriptions
Some package descriptions might be inaccurate or not good enough.
Improve java2html
java2html needs some improvement to create XHTML 1.1 with properly identifiable lines. E.g. <span id="line10" class="even line">...</span>. The stylesheet should allow for alternating background of odd and even lines.
Finnish JTreeTable
The class JTreeTable needs to be finnished.
Finnish preferences modules
The preferences modules for keyboard, menu, toolbar, dialogs (bringing onetime dialogs back again) and proxy need to be finnished resp. created.
Increase JAPI
Cher has some old JAPI versions from the time of JAPI before SF, which might contain some useful classes that should go into JAPI.
Add Cursor Handling to ActionFactory
ActionFactory should be able to automatically set the cursors for components it creates.
Improve ToolbarLayout
ToolbarLayout needs an improvement to allow toolbars to be placed next to each other.
Create font browser tool
This goes in tools/font
Create a jar browser tool
This goes in tools/jar
Rework guide on XInclude
Some source code in the guide is not yet included using java2html and XInclude. This should be changed to let all source code look consistently.
Website Layout improvement
JAPI needs a logo and a better website.
IDE project files
Think about a concept of how to put IDE project files in the JAPI repository in a way that when users change them, they'll be working on their copies without creating new versions when they do commits. For a start, IntelliJ IDEA, NetBeans and Eclipse should be supported. Perhaps applying the UCM stream concept of ClearCase might also be a possible solution to this. Question: How to checkout a trunk directory from a branch instead.
Unit Tests
JAPI needs a unit test suite.
Set svn:ignore properties properly
Some directories like tools/fonts should have settings for svn:ignore. All sub project directories with their own build.xml should, for instance, set svn:ignore to exclude their classes directory.
NPE avoidance
There's much code, especially in ActionFactory, which will throw little useful NullPointerExceptions. This code should be reworked by using @Nullable and @NotNull annotations. All possible NullPointerException warnings should be removed except in acceptable cases. This task also includes the definition of a list of acceptable cases of possible NullPointerExceptions.
Properties handling
Make sure all property files are iso-8859-1 and not any other encoding. Also make sure that in xi:include elements, property files are included as iso-8859-1.
Add syntax highlighting for property files
Add a syntax highlighting for property files.
Remove unused meta stuff from XHTML sources
Some XHTML sources contain unused meta stuff. This should be removed.
Improve copyright handling
Files get automatic copyright notices. Currently, the year and name are fixed. This should be improved.
Unify Utility Classes
Several Utility Classes do not yet have a private constructor. They all should get one. The documentation on all these private constructors should follow the same pattern.
Unify SuppressWarnings in case of working around bugs
Several warning suppressions do not suppress valid warnings but bogus warnings that are bugs of IntelliJ IDEA. These warning suppressions should be tagged as such with a special comment to find and remove them once the bugs in IntelliJ IDEA are fixed.
Suggestion: // XXX workaround bug in IntelliJ IDEA (explanatory text).
        } catch (final InvocationTargetException ex) {
            // XXX workaround bug in IntelliJ IDEA (ex is NOT ignored)
            //noinspection ThrowInsideCatchBlockWhichIgnoresCaughtException
            throw new RuntimeException(ex.getCause());
Also think whether IntelliJ IDEA or Inspection Gadgets is to blame.
Create class for centering top level containers on different references
AWT lacks good facilities for centering top level containers. Work around this.
Create a library for good command line argument handling
Usage effort should be kept at a minimum. An easy to use and easy to integrate pattern should be used.
SourceForge.net LogoSupport This ProjectValid HTML 4.01!Valid CSS! Feedback: webmaster
$Date: 2006-04-16 23:39:07 +0200 (Son, 16 Apr 2006) $