The PIRL Java Packages
May, 2005

PIRL packages:

Conductor -

    An application to manage procedure pipelines. Includes a
    Reference_Resolver for Database and PVL Parameter refernce
    resolution.

    The Conductor application requires (as of Java 1.4) a patch to the
    Process class implementation. This is provided separately in the
    Process.patch-1.4.tar.gz tarball file.

Database -

    A simplified interface for access to, and basic management of,
    relational SQL databases.

PVL -

    The PIRL Parameter Value Language package provides for the input,
    output and manipulation of parameters and their data values. A
    PVL_to_DB class is provided to map PVL Parameter Values into
    Database fields for update or insert operations.

Configuration -

    Management of configuration files using PVL syntax. Configuration
    objects are typically used by application programs.

Strings -

    Character string manipulation capabilities used by the other PIRL
    packages.

Viewers -

    Classes for common capabilies associated with GUI viewers, plus GUI
    viewers associated with other PIRL packages.

Utilities -

    Support classes for abstract data stream connection, system host
    identification, and unit test checking.

The package distribution files are available from the PIRL distribution
site (ftp://pirlftp.lpl.arizona.edu/pub/Java/). Each package is
distributed in tarball form (package.tar.gz). This is the most
convenient way to incrementally upgrade an existing distribution when
only one part needs to be changed. A complete tarball distribution
(PIRL.tar.gz) is provided for new installations or a total upgrade to a
new version. The tarballs include the Java source code files, but not
the compiled class files. A Makefile (using gmake syntax) is included
that can be used to compile the class files. Each tarball unpacks into a
subdirectory named PIRL-N.N.N, where N.N.N is the distribution version,
and provides a link to this directory named PIRL. The PIRL link is
required to satisfy Java's dependency on filenames being identical to
package/class names. Note: The tarball file does not include the
redistributed packages (below) which are necessary to run the Conductor
and Data_View applications.

Apple OS X gotcha: The compiles of the class files by javac will fail at
some point in the process due to the use of the link named PIRL to the
distribution directory named with the version number. The link must be
removed and the directory renamed PIRL for the package compilation to
succeed.

A jar file distribution (PIRL.jar) is also provided. The jar files does
include the class files for the redistributed packages. Versions of the
full PIRL jar file named Conductor-version.jar and Data_View-version.jar
are provided as self-contained distributions of these applications (only
the manifest has been changed to specify the appropriate MAIN class).

Redistributed packages:

Java Components For Mathematics -

    A project at Hobart and William Smith Colleges
    (http://math.hws.edu/javamath/) is an effort to develop a framework
    of configurable mathematical software components written in the Java
    programming language. A tarball of the complete version 1.0
    distribution is provided (jcm-1.0.tar.gz). However, this is a large
    tarball and only the edu.hws.jcm.data package is used by the PIRL
    software, so a jar file for just this package is provided
    (jcm_data-1.0.jar).

The Mark Matthews JDBC driver for MySQL -

	Implemntations of the JDBC API for the MySQL (www.mysql.com)
	relational database server. The MySQL Connector/J package is deemed
	to be the official driver by MySQL and is definately to be preferred
	for its performance, features and maintainence support. It is
	provided in both tarball (mysql-connector.tar.gz) and jar
	(mysql-connector.jar) file forms. The old Mark Matthews mm.mysql
	driver is also provided in case it may be needed for compatibility
	with old Java installations. It strives to conform as much as
	possible to the API as specified by JavaSoft. Both tarball
	(mm.mysql.tar.gz) and jar (mm.mysql.jar) files are provided.

TreeTable -

    A packaged version of Sun's TreeTable example files. The contents of
    the TreeTable package are based on the "How to Use Trees" tutorial
    files offered for download from Sun's Java web site
    (http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html)
    and contain Sun's copyright. This package is used by Parameter_View
    and its Parameter_Model classes.


Copyright:

The PIRL Java Packages are  Copyright (C) 2003, 2004, 2005  Arizona
Board of Regents on behalf of the Planetary Image Research Laboratory,
Lunar and Planetary Laboratory at the University of Arizona. They are
distributed under the terms of the GNU General Public License, version
2, as published by the Free Software Foundation. A copy of this license
should be included with the distributed files.

Contact:

Comments, questions and contributions of code or corrections regarding
the PIRL Java Packages may be sent to the author:

Bradford Castalia                       Castalia@Arizona.edu
Senior Systems Analyst                  520-621-4824
Planetary Image Research Laboratory     Department of Planetary Sciences
University of Arizona                   Space Sciences Bldg.
1629 E. University Blvd.                Tucson, Arizona  85721-0092
