I am currently making some modifications to the code base to add more functionality and support of a few different technologies and I was just wanting throw some of these ideas out here to see what might be worth rolling back in to the main code base.
At this point in time I am not too certain as to how much work I will be doing or how far it will go. I will just have to wait and see.
Here is a short list of items that I currently have working on my copy of the code base:
1. Java Web Start support
- Added an ant task to build a Java Web Start bundle
- this is "almost" a mirror of the dist directory, but with resources stored in the jar
- it includes two sample jnlp files, one static and the other a jsp
- some classloader techniques had to be modified to work with JWS
- Added support for command line inclusion of plugins via URL since JWS cannot access a jar within a jar
- Works with Java 1.5 and 1.6
- Tested Successfully with FireFox 2.x on Windows and Mac, Safari v3 on Windows and Mac, and IE 7
2. Added support for Launch4J
- Gives jTreeView a lightweight application front end for Windows
- Enables the assignment of file type mapping so if you double click on a .cdt file, it will open Java TreeView and load the clicked file
- I created an Ant task that will build the .exe file if it detects the presence of Launch4J
- Launch4J needs to be installed separately on your system for I did not try nest in in this project
- The generated exe file is only 21k
- We are currently trying to wrap up the details and work out the bugs to get something similar to work for the Mac. Launch4J is not for the mac so we are pursuing other avenues. I think this may be as simple as a simple modification to the ant script's task "bundle" to add appropriate documenttype associations.
- Another benefit of file type mapping, would be resources on the web that you can open them in to the Java TreeView application instead of having to use an applet or JWS, or even eliminate the need to first download them.
3. Add a few more URL links for human gene information.
Something that we are currently working on is a new File menu option. We have the server back end code done and working but we just need to add GUI components. The nature of this new menu option would be similar to the Open... and Open URL... and I am thinking about calling it Open Web... . It will provide a file and directory navigation tool/interface for the user to browse resources on the web to open related files. There are still some details to work out, but I am thinking that each web service that would be available would be included as a separate plugin. That way, if someone is interested, they can just add the various plugins to the different web resources and then they can access the files natively through the application as if they were on their local drive. This will require some standard frameworks, but from what I am thinking, it could fully support authenticated sessions so the web service can serve up targeted content.
These are some of the things that I am working on currently. I am planning on moving the code for these changes back in to the main stream code base if anyone thinks there is a need or an interest in expanding the feature sets.
As a side note, I would probably be setting my targeted Java version to 1.5 so I can make use of generics, enums, and for-eaches where possible.
Did you ever get to this stuff? I finally have some time to spend cleaning up Java Treeview, the JNLP and Launch4J sound worthwhile.