PIRL packages
- Conductor
- An application to manage procedure pipelines with classes to
resolve references to parameters (as are used in Configuration
objects) and Database fields, asynchronous thread logging of
streams, and utility applications to assist with pipeline source
queue management, common processes used in process tables -
including sending email notification messages to a list of
recipients - and an expression evaluator (JCM) to test process
success logical conditions.
The Maestro sub-package provides a Kapellmeister
application for managaging Profiles of pipeline networds along
with the Stage_Manager (a Messenger.Dispatcher subclass) used to
relay messages between Kapellmeisters and Conductors, or other
user applications.
- Configuration
- An extension of the PVL.Parameter class for convenient
management of configuration parameters and files.
- Database
- A simplified interface for access to, and basic management of,
relational SQL databases with Data_Port implementations for
MySQL and PostgreSQL. An example
database query tool is included along with Query_DB and
Update_DB classes that can be used as generic utility applications.
- Image_Tools
- Classes for obtaining metadata information from JP2 files, plus
an ImageInputStream implementation for access to image files
remotely via an HTTP server.
- Messenger
- Classes to provide inter-process message passing services. A
Dispatcher, designed to be extended by subclasses that add
additional Message protocol suppor, is included to coordinate
the connections between processes interested in participating in
message passing.
- PVL
- The PIRL Parameter Value Language package provides for the
input, output and manipulation of generic 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.
- Strings
- Character string manipulation capabilities used by the other
PIRL packages.
- Utilities
- Miscellaneous utilities classes that handle various helpful
operations not easily classified into the classes of other
packages. This includes client Authentication with public-private
key pairs, a File subclass of the JFC File class to enable
cannonical to logical pathname mapping, Host system identification,
a Checker for use in unit testing, mathematical range definitions,
a generic Stream factory class, and a set of enhanced Writer and
Input/OutputStream classes.
- Viewers
- Numerous classes for common capabilies associated with GUI
viewers - including Animator, Blinker, Draggable_Rows, Icons,
Size_Limits and View_Locator - useful components - including
Dialog_Box, Font_Selector, Memory_Chart, Percent_Bar,
Splash_Screen and Stream_Monitor - plus GUI viewers for PVL
Parameters and Values.
Redistributed packages
- 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 and contain Sun's copyright. This
package is used by
Parameter_View
and its
Parameter_Model
classes.
Software downloads
The package distribution files are available from the
PIRL distribution site.
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 precompiled class files
as well as the Java source code files. A Makefile
(using
gmake
syntax) is also included that can be used to
recompile 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 dependencies for the Conductor and Database
packages.
A jar file distribution (PIRL.jar
) is also provided.
Versions of the full PIRL jar file named Conductor.jar
and
Data_View.jar
are provided as self-contained distributions
of these applications (only the manifest has been changed to specify
the appropriate MAIN class). The jar files do not include the Java
source code files.
Applications
The software distribution site has an Apps subdirectory with wrapper
scripts for the Java applications in the packages. The wrapper scripts are
also included in the distribution files in the package directories
where the applications are located. The wrappers enable the applications
to be run in the Java Virtual Machine (JVM) as if they are standalone
applications.
Model applicaiton configuration files are provided in the Configs
subdirectory. These files include comments describing their entires to
facilitate customizing them for individual users.
Documentation
On-line
reference manuals for the PIRL Java Packages are available in
javadoc form. A tarball (PIRL-javadoc.tar.gz
) of just
the documentation files is provided from the distribution site.
To build the javadoc files from the source code distribution use the
"make docs
" command with the Makefile in the unpacked
PIRL.tar.gz
distribution (the Makefile uses GNU make
syntax; on some systems GNU make is known as gmake). The Makefile's
JAVA_DOCS_DIR variable specifies the location of the core Java
documentation (where the api
sudirectory is found). By
default this is set to /opt/java/docs; set your JAVA_DOCS_DIR
environment variable to the location for your site. The Makefile's
PIRL_DOCS_DIR variable specifies where the PIRL Java Packages
documentation will be created. By default this is set to the docs
subdirectory of the current directory; if you want to change this, set
your PIRL_DOCS_DIR environment variable to the appropriate pathname.
Dependency packages
- Java Components For Mathematics
- A project at Hobart and William Smith Colleges, is an effort to
develop a framework of configurable mathematical software
components written in the Java programming language. A tarball
of the complete distribution is provided
(
jcm.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.jar
).
- The MySQL
Connector/J JDBC driver for MySQL
- An implemntation of the JDBC API for the
MySQL relational database
server. Required for use of the MySQL_Data_Port of the Database
package. Both tarball (
mysql-connector.tar.gz
) and
jar (mysql-connector.jar
) files are provided.
- The PostgreSQL JDBC driver
- An implemntation of the JDBC API for the
PostgreSQL relational
database server. Required for use of the PostgreSQL_Data_Port
of the Database package. Both tarball
(
postgresql-jdbc.tar.gz
) and jar
(postgresql-jdbc.jar
) files are provided.
- SwingX
- Swing GUI component extensions. This package is required by the
Conductor package.
- JAVAMAIL and
JAF
- These packages provide email message sending functionality as
used by the Notify class. Note: These packages are only required
when Notify must use an "unfriendly" email server. They may not
be required at all, in which case a Notify-simple.java
implementation is provided that only uses JFC classes and worked
fine for many years until a "sophisticated" email server was
encountered. Both zip (
javamail.zip
) and
jar (javamail.jar
) files are provided for JAVAMAIL;
a zip (jaf.zip
) file containing the appropriate jar
(activation.jar
) file is provided for JAF.
- The Apache Commons CLI library
- This package is only required by the Pipeline_Configuration utility in
the Conductor package to provide command line parsing. Both
zip (
commons-cli.zip
) and
jar (commons-cli.jar
) files are provided.
The appropriate versions of the dependency packages have been collected and
made available from the PIRL software distribution site.
Copyright
The PIRL Java Packages are Copyright (C) 2001 - 2012 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 Lesser General Public License as published by
the Free Software Foundation. A copy of this license should be included
with the distributed files. If not, see
http://www.gnu.org/licenses/.
The PIRL Java Packages are is distributed in the hope that they will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
General Public License for more details.
Contact
Comments, questions and contributions of code or corrections regarding the
PIRL Java Packages may be sent to the author:
Bradford Castalia
|
|
Senior Systems Analyst
|
Castalia@Arizona.edu
|
Planetary Image Research Laboratory
| 520-621-4824
|
Department of Planetary Sciences
| 1541 E. University Blvd.
|
University of Arizona
| Tucson, Arizona 85721-0063
|
Last update: 30 April, 2012