DODS Java Software

Release Notes


Java-DODS Release 1.1.7 -- 08/29/04 ndp

This is a supplemental release of version 1.1 that contains the following:

Bug Fix:
DRDS is now closing database connections when client request is completed.

Class Change:
The class dods.servlet.requestState has been deprecated. It is replaced by the class dods.servlet.ReqState. This change allows Web Archive Distributions to install with a test server (DTS) running out of the box.

Updated Build:
The production rules have been migrated from " Make" to "ANT". The source code distribution contains the ANT build file and the necessary libraries for compiling the source. Also, the released jar files have different internal structures. ALL of the jar files need to be unpacked (using jar) prior to use. Files in this release:

dods-1.1.7-doc.jar - Contains javadoc for the Java-DODS API. Un-jar it to get the docs.

dods-1.1.7-libraries.jar - Contains the Java-DODS binaries along with ancillary libraries required to run the code. It does not include a servlet lib as that is typically distributed with the servlet engine (such as Tomcat). Un-jar this file to get a lib directory containing the library jar files.

dods-1.1.7-src.jar - Contains the Java-DODS source code, along with ANT build files and required libraries for code compilation. The libraries here include a servlet library (from tomcat 4.1.18) in order to allow the user to compile the source code without requiring them to have a servlet engine. Un-jar this to get a development directory. Read the enclosed README for further instructions.

dods.war - This is the Web Archive file containing the Java-DODS servlets. Put it into you servlet engine (ex. Tomcat) and have at it. It should unpack and start the DODS Test Server. The Dods Relational Database Server (DRDS) is also included.

Java-DODS Release 1.1.6 -- 07/27/04 ndp

Some bug fix I didn't document. Oops...

Java-DODS Release 1.1.5 -- 03/10/04 ndp

This is a supplemntal release of 1.1 that fixes an improper document type declaration in the MIME headers of the DAS resposponse in the core servlet (dods.servlet.DODSServlet)

Java-DODS Release 1.1.4 -- 05/12/03 ndp

This is a supplemntal release of 1.1 that contains a fixes mentioned below plus a fix to the reda methods of the Float64 and Float32 types in the DRDS. In addition a new debuggingparameter was added to the DRDS "sqlRead" which produces detailed output during JDBC operations.

Java-DODS Release 1.1.3 -- 05/12/03 (ndp)

This is a supplemental release of 1.1 that contains the fixes mentioned below plus a fix of a regexp problem in the DRDS (bug 608).

Java-DODS Release 1.1.2 -- 03/11/03 (ndp)

This is a supplemental release of 1.1 that contains bug fixes for server side issues that only exhibit on the Windows operating system.

Java-DODS Release 1.1.1 -- 4/9/02 (ndp)

This is a supplemental release of 1.1 that contains bug fixes for DDS, and DAS parser problems and repairs to the DRDS constraint expression handling.

Java-DODS Release 1.1.0 -- 06/11/01 (ndp)

Repaired DODS relational Database Server (DRDS, dods.servers.sql.drds) so that it correctly handles "null" values in the backend database tables. Repaired DODS Test Server (DTS, dods.servers.test.dts). Test server output is now stable.

Java-DODS Release 1.0.0 -- 10/13/00 (ndp)

Placed the majority of the server diagnostic output under conditional control. Found and fixed several bugs in the server code including:

Java-DODS Release 1.0.6 (ndp)

Many things have been changed and re-arranged: The servlets should now be thread safe. Much of the core servlet code has been re-architected and should be carefully reviewed if you have been using it and wish to continue to use it. The servlet NO LONGER USES .ini files. All configuration information is no passed to the servlet through the javax.servlet.ServletConfig interface (in particular the getInitParameter() method). This information is stored in the web.xml file located in the WEB-INF directory for the servlet. See the file SERVLET for more information. The special clients www and ascii have been moved from dods.clients to dods.servers (dods.servers.www and dods.servers.ascii respectively)

Java-DODS Release 1.0 (ndp)

This is the first full release of the Java-DODS core software. Some fairly significant organizational changes have been made since Jake's original code, and since Beta 1.1. If you have been using the code it would behoove you to review the inheritance hierarchy, the functional hierarchy, and the organization of the packages. In particular this release ships with 2 functional servers (dods.servers.test.dts and dods.servers.test.drds), 1 functional client (dods.clients.geturl.Geturl), 2 special clients (dods.clients.ascii and dods.clients.www) that get used in the server architecture. The problems that Jake pointed out below about Input/Output Stream's and Reader/Writer's still remain to be resolved, and unfortunately this means that we are still using deprecated API's in several places.**NOTE: The test suites are currently broken. They did work, but changes in test server (repeated identical calls for the same dataset will produce different, although predictable, data) have rendered them non functional for the time being.

Java-DODS Beta 1.0 (ndp)

At this time the Server side code has been written. Class hierarchies have been cleaned up and in general the core code in the "dap" is tight and clean. Many of the ancillary programs written by Jake have not been extensively tested, this includes Geturl. The Server code has been tested and seems to work well.


Note: The following may be completely out of date, but they are still included as part of our legacy.

Jake's Original Design Notes

The following are some notes about the design and implementation of the Java DAP library. It should be useful reading for anyone who needs to fix bugs or add features to this code.

Design Differences

The definitive documentation for the DAP is contained in the Javadoc comments included with the source code. You can build this documentation with the "make doc" target of the Makefile. Here are some important differences between the API described in the Javadoc comments, and the C++ version of DODS, as well as James Gallagher's initial Java DAP design.

Java Pitfalls

Here are some miscellaneous comments on particular aspects of Java which I had to deal with when designing the Java DAP. Hopefully you won't stumble into these pitfalls yourself if I mention them here:

Testing

Here is some information about the test cases written for this code:

Adding New Types To The Dap

Unlike the C++ version of DODS, the Java DAP port was designed to make it easy to add new data types to the core. Here are the places where the code will need to be changed to incorporate a new primitive type: