Changes Before Version 1.1.8
- Moved massage package to transform
- Updated makefile to recurse into transform
- Fixed makefile to use IZpack instead of IzPack
- Updated imports of massage package to use transform
- Renamed class files using the word massage to use transform
- Renamed class names using the word massage to use transform
- Updated all references to classes using the word massage to use
transform
- Added required method to Transform to indicate whether the transformation
can be run
- Added checkbox to InputTransform to indicate that the transform is
runnable
- Renamed methods using the word massage to use transform
- Updated all method invocations using the word massage to use transform
- Renamed all variables using the word massage to use transform
- Added required method to Transform to indicate whether the transformation
might have some hidden order dependency with another Transform
- Changed all comments using the word massage to use transform
- Added required method to Transform for a transform to describe the input
and output specification in HTML
- Added dialog to display the input and output specifications to
TransformStatement
- Rewrote popup in TransformStatement to better handle multiple options
- Prevented the terminal InputTransform from having its input and output
specifications displayed
- Made InputTransform automatically supress insertions and querying
- Changed TransformEditor to only suppress removals on terminal
InputTransform
- Changed TransformEditor to only suppress removes on terminal
TransformStatement
- Update addComponentRow in Compare to add action and item listeners to
JCheckBoxes
- Added null checks to static toString methods in NullDataElement
- Fixed bugs in IZpack that prevented UNIX archives from unpacking
- Fixed bug in install.xml that unpacked a UNIX archive with wrong OS
- Fixed a bug in IZpack that caused Windows machines to get UNIX
archives
- Integrated Beanshell into the build environment
- Added a simple debugging console for the Comparator using Beanshell
- Updated web documentation to remove text references to massages
- Renamed files containing the word massage
- Removed references to massages in document for creating transforms
- Added additional information to document for transforms according to
feedback and updates to the template
- Removed references to massaegs in document detailing technical information
about transforms
- Converted changed word documents to postscript
- Marked out of date documents as being out of data in the documentation
- Removed out of date images from documentation
Changes Before Version 1.1.7
- Added Kunststoff look and feel to build system
- Changed default look and feel to Kunststoff look and feel
- Added buttons to MassageEditor and ObjectiveEditor as an alternative to
pressing enter when adding a new massage or objective
- Implemented error dialogs when attempting to add or rename a massage or
objective with a null or empty name
- Made ObjectiveEditor disable the metric box whenever there is no
corresponding objective for the metric to be attached to
- Removed the objective updating code in ObjectiveEditor that was previously
required to instantiate a new objective when the metric box was activated
without an objective to attach to
- Integrated the latest release of the run manager and model builder
- Upgraded the included version of OAA
- Integrated a precompiled distribution of IZPack into the build system
- Modified IZPack to correctly handle the fileset directive
- Created installer file to create a jar installation for JigCell
- Updated install files to be compatible with the jar installation
- Implemented a cached data element that provides a memory sensitive cache
for a data element and spools to disk when memory is low
- Changed column headers in ExperimentDataSeriesView, ModelDataSeriesView,
and MEOSummaryView
- Renamed Add button for adding a massage or objective to New
- Removed ability to add new massages or objectives by pressing enter in the
combo boxes
- Made uneditable columns have a gray background when not selected
- Removed ability to change massages or objectives by typing a name in the
combo boxes
- Made massage and objective combo boxes uneditable
- Added availability checks to massages to ensure that the element data is in
memory before attempting operations
- Added memory locking operation to force a data element to hold its data in
memory
- Implemented available checks and locking operations in NullDataElement
- Set the default width of the massage and objective combo boxes to be the
same as InputMassage
- Implemented row selection notification in BasicTableSeriesView
- Made row selection track across EditableDataSeriesViews
- Implemented specialized availability checks and locking operations for
EditableDataElement
- Implemented specialized availability checks and locking operations for
FlippedDataElement
- Implemented specialized availability checks and locking operations for
CachedDataElement
- Added atomic resource replacement to Compare
- Converted JigCellRunManagerInputMassage to wrap its data in a
CachedDataElement
- Made massage and objective order case-insensitive
- Added additional files to the list of Comparator documents
- Integrated Doug Lea's concurrent package into the build system
- Converted MIME type and data flavor manipulations from static
synchronizations in Compare to using read/write locks
- Converted XML persistence delegate and transient manipulations from static
synchronizations in Compare to using read/write locks
- Fixed some unguarded accesses to MIME type and data flavor information
- Fixed some unguarded accesses to resource maps
- Added null checks to a number of accessor functions
- Converted resource manipulations from instance synchronizations in Compare
to using read/write locks
- Fixed an incorrect cast when getting the preferred extensions for a
particular instance
- Removed null check when running through transients to update an XML
encoder
- Integrated latest version of Model Builder and Run Manager
- Made a buildable version of the included OAA library
- Removed Doug Lea's concurrent package from the OAA library
- Made antlr buildable as a separate component
- Removed antlr from the the OAA library
- Added the source code for xerces and log4j to the distribution
- Updated license files for several components
- Modified component startup scripts to add new libraries
- Added build target for conglomerate jigcell class jar file
Changes Before Version 1.1.6
- Added icons to Add Result Set..., Delete Selected Thresholds, and Delete
Selected Result Sets in Compare^2
- Placed Add Result Set..., Delete Selected Thresholds, and Delete Selected
Result Sets in Compare^2 toolbar
- Added continuously colored view colorer for performance relative to the
threshold
- Added group colored view colorer for performance relative to the
threshold
- Added support for manipulating string literals to DataElement
- Added string literal type to DataElement.Type
- Implement string literal support in NullDataElement
- Added support for writing string literals in EditableDataElement
- Changed existing users of setValue with a string literal argument of
EditableDataElement to use setValueInterpreted
- Implemented more efficient support for string literals in
EditableDataElement
- Improved forceSlice functions of NullDataElement and
EditableDataElement
- Added support for parsing string literals when constructing an
EditableDataElement
- Converted all existing users of DataElement.Type to handle string
literals
- Replaced some uses of DataElement.Type with forced values
- Fixed jikes pedantic warning in Compare
- Integrated a working jikes CVS snapshot into build system
- Updated transient attributes for all binary serializable classes
- Added convenience interface for a readable and writeable data source
- Added support in Compare to map classes and objects to MIME types
- Added support in Compare to map MIME types to file extensions
- Added support in Compare to automatically build reverse maps and
hierarchical maps for classes, objects, MIME types, and file extensions
- Implemented a data source that reads and writes to the clipboard
- Implemented helper implementation of Transferable to automatically handle
MIME type reporting and basic transfer operations
- Made Comparator specific class for representing and manipulating MIME types
to more easily describe the transfer format
- Required that the Comparator specific class for MIME types be used in all
operations requiring a MIME type
- Added support for reading and writing the clipboard to
EditableDataSeriesView
- Added menu options for cutting, copying, and pasting to
EditableDataSeriesView
- Added proxying system to clipboard to transform objects to and from
transferable types
- Implemented a transfer proxy in EditableDataSeriesView to produce human
readable output for external applications
- Implemented a transfer proxy in ExperimentDataSeriesView to produce human
readable output for external applications
- Added toolbar icons for cutting, copying, and pasting to
EditableDataSeriesView
- Implemented a transfer proxy in MEOSummaryView to produce human readable
output for external applications
- Moved definition of the text display cutoff value in BasicTableView to be
more accessible to subclasses
- Transfer proxy for MEOSummaryView now truncates display of model value
- Removed menu options and toolbar icons for cutting and pasting from
ObjectiveSumaryView and ModelDataSeriesView since these have no well-defined
meaning
- Implemented a transfer proxy in ModelDataSeriesView to produce human
readable output for external applications
- MassageStatement now updates border when name of massage changes
- Added ability to rename massages to MassageEditor
- Made MassageEditor sort the list of known massages
- Added checks to MassageEditor to prevent massages changing names from
corrupting the massage tables
- Removed a large amount of redundant name manipulation from the event
handling of MassageEditor
- Fixed regression that caused a newly added massage not to be selected in
MassageEditor
- Added ability to rename massages to ObjectiveEditor
- Made ObjectiveEditor sort the list of known massages
- Added checks to ObjectiveEditor to prevent objectives changing names from
corrupting the objective tables
- Removed a large amount of redundant name manipulation from the event
handling of ObjectiveEditor
- Removed duplication in code between ObjectiveSummaryView and
MEOSummaryView
- Changed ObjectiveSummaryView and ModelDataSeriesView to refresh the display
when non-generator data changes
Changes Before Version 1.1.5
- Replaced some uses of contains with the more efficient hash set
- Refactored some table functionality from SimpledDataSeriesView to a new
BasicTableView class
- Implemented initial view of Compare^2
- Updated the configuration file for Compare^2
- Implemented loading result sets in Compare^2
- Refactored some table functionality from EditableDataSeriesView to
BasicTableView
- Made columns automatically resize in Compare^2
- Moving the threshold column in MEOSummaryView no longer causes the
threshold colors to be improperly painted
- Made the threshold column remain at the last column index if it is at the
last column index when a new column is added
- Changed Compare^2 to display No Value when a result is not defined for a
particular set
- Changed the load functions of EditableDataSeriesView, ModelDataSeriesView,
and ObjectiveSummaryView to unconditionally report that changes may have
occurred to the generator set
- Implemented importing thresholds from an objective set in Compare^2
- Made EditableDataGenerator explicitly remove attributes set to null
- Implemented exporting thresholds to an objective set in Compare^2
- Disabled menu item for saving an objective set in Compare^2 unless an
objective set had previously been loaded
- Disabled menu item for saving an objective set without specifying a
DataSource in Compare^2 unless a DataSource to save to is known
- Disabled toolbar icon for saving without specifying a DataSource in
EditableDataSeriesView if the corresponding menu item is disabled
- Moved strictfp modifier from class to individual methods in
MinkwoskiDataGenerator and WOSSDataGenerator
- Implemented loading result set groups in Compare^2
- Implemented saving result set groups in Compare^2
- Added saving result set groups to the last used DataSource in
Compare^2
- Disabled menu item for saving a result set group without specifying a
DataSource in Compare^2 unless a DataSource to save to is known
- Implemented clearing the current result set group in Compare^2
- Added icons to the Compare^2 menus
- Added accelerator keys to the Compare^2 menus
- Added a toolbar and toolbar icons to Compare^2
- Disabled toolbar icon for saving without specifying a DataSource in
Compare^2 if the corresponding menu item is disabled
- Fixed EditableDataSeriesView and Compare^2 to record the DataSource for a
save operation for use with a later save operation that doesn't specify a
DataSource
- Added automatic table column resizing on structural changes to the
model
- Made Compare^2 notify the table when column changes occured
- Implemented removing a result set in Compare^2
- Implemented removing all result sets in Compare^2
- Implemented selecting all rows in Compare^2
- Added unselecting all rows to Compare^2
- Added inverting the current column selection to Compare^2
- Added inverting the current row selection to Compare^2
- Moved popup functionality from EditableDataSeriesView to
BasicTableView
- Implemented replication up and down along thresholds for Compare^2
- Added replication within a selection along thresholds for Compare^2
- Added new example files for result sets
- Added new example files for Compare^2
- Implemented clearing all thresholds in Compare^2
- Implemented clearing selected thresholds in Compare^2
- Changed tests for tests for empty collections to use isEmpty function
- Implemented a mechanism in Compare^2 to accept a view colorer for the
result set group
- Added a view colorer for showing performance relative to threshold
- Fixed coloring problems in Compare^2 and MEOSummaryRenderer when the
background color wasn't always correctly reset
- Fixed coloring in Compare^2 when dragging columns
- Made the available set of view colorers configurable
- Added a view menu to Compare^2 that allows selection from available view
colorers
- Added a view colorer that does no coloring
- Updated the configuration file for the new view colorers
- Moved edit and view cell functionality from the tables to the models
- Fixed a number of bugs involving not converting from table column space to
model column space
- Added edit cell option to all popups without it
- Added view cell option to all popups without it
- Disabled column replication in popups for columns not supporting
editing
- Disabled edit cell in popups for columns not supporting editing
- Added popup cell editor for massages to ModelDataSeriesView
- Added popup cell editor for objectives to ObjectiveSummaryView
- Fixed title of popup asking for result set name in Compare^2
- Moved threshold functionality from MEOSummaryView to
ObjectiveSummaryView
- Renamed Load Objective Set... to Open Objective Set... in Compare^2
- Moved plot functionality from the tables to the models
- Moved column fill functionality from the tables to the models
- Refactored some column fill code that was duplicated in Compare^2,
EditableDataSeriesView, and ListEditorDialog into BasicTableModel
- Refactored some popup handling code that was duplicated in Compare^2 and
EditableDataSeriesView into BasicTableView
Changes Before Version 1.1.4
- Fixed various minor documentation problems
- Made various maintainability improvements (especially to Compare)
- Fixed display bugs with Compare splash screen
- Fixed potential race condition with Compare splash screen
- Moved plotter option definitions from Plotter to PlotterInterace
- Added mandatory helper functions for accessing options to
ReadableDataSource, WriteableDataSource, and PlotterInterface
- Removed some obsolete helper functions for accessing options in
EditableDataGenerator and Plotter
- Added type checking to all helper functions for option accesses
- Implemented helper functions for all option and resource accesses
- Modified all direct option and resource accesses to use helper
functions
- Added centralized repository for data sources
- Added support for assertion facility to build configuration
- Added debugging preference service to Compare
- Made all checked exceptions optionally assert
- Fixed exception in MEOSummaryView when computing threshold color for an
unevaluated or unvalued objective
- Implemented checks in EditableDataElement for legal but non-numeric
values
- Fixed exception in JigCellRunManagerInputMassage when a legal but
non-numeric value was encountered
- Added support for abbreviating infinity as inf to EditableDataElement
- Made maintainability improvements to EditableDataElement
- Added accessor methods for all table column positions
- Implemented mechanism for archiving results of comparisons
- Significantly increased the number of synchronized sites in functional and
massage operations to prevent calculations from being corrupted
- MEOSummaryView no longer needs synchronization to start an evaluation
task
- MassageEditor no longer needs synchronization when changing the current
massage
- Setting the list of compatible massages is now privately synchronized
- MassageEditor no longer needs synchronization when updating the list of
massages
- Implemented dockable tab toolbars
- Added toolbars to all existing tabs
- Added several new icons to existing tabs
- Fixed exception in ExperimentDataSeriesView when trying to set type to
null
- Added check to ExperimentDataSeriesView to disallow editing of uneditable
cells
- Fixed exception in MEOSummaryView when trying to set threshold with the
wrong type
- Fixed exception in ModelDataSeriesView when trying to set massage with the
wrong type
- Fixed exception in ObjectiveSummaryView when trying to set objective with
the wrong type
- Implemented replication up and down along a table column
- Implemented replication within a selection along a table column
- Fixed exception in MEOSummaryView when threshold was set to a legal but
non-numeric value
Changes Before Version 1.1.3
- Necessary OAA agents are now automatically started
- Fixed bug in BoxMassageContainer that caused results and annotations not to
propogate inside
- Fixed bug in NullMassageContainer and MassageStatement propogation model
that caused clears and flushes to be incorrectly routed in some cases
- Fixed bug in MassageStatement container handling that caused some results
to propogate out of the container before reaching all massages indirectly
controlled by the container
- Fixed bug in SelectColumnsMassage that caused notification of updates to
sometimes not be propogated after changing the column selection
- Added checks to prevent massages in containers from inadvertently forming
cycles in the massage graph between containers
- Added check to reduce the number of clears that could be caused by a flush
in SelectColumnsMassage
- Created an example template for performing a massage
- Created documentation for adding a massage to the Comparator
- Added functions to DataElement and NullDataElement to coerce a single value
to a particular type
- Fixed bug in forcing a list slice for NullDataElement
- Added check in MinkowskiDataGenerator and WOSSDataGenerator to prevent
weights from being set to a list
- Added check in ModelDataSeriesView to merge duplicate massages
- Required Massage to have the same copy control system as Functional
- Eliminated copying of massages when tieing to a generator
- Eliminated copying of massages when evaluating an objective
- Fixed various XML encoding problems for massages
- Reworked subinterfaces for DataSource to better align them with planned
data source features
- Required Massage and Functional to be WriteableDataSources
- Implemented a default implementation of data source
- Made minor improvements to web documentation
- Implemented a data source that reads and writes to files
- Made existing tabs take advantage of data source framework
- Added a quicksave option that writes to the last used data source
Changes Before Version 1.1.2
- Fixed handling of illegal values from JigCell Run Manager
- Defined interfaces for generalized data source transfers
- Created DataManager for tracking data sources
- Converted PlotterInterface to support the WriteableDataSource
interface
- Converted DataGenerator to support the ReadableDataSource interface
- Moved specialized XML persistence delegates into their associated
class
- Integrated XML persistence tracking functions into Compare
- Made EditableDataGenerator support the WriteableDataSource interface
- Updated existing plotters and generators to better support the data source
framework
- Moved DataElementType to DataElement.Type
- Fixed various encoding problems with the XML representation
- XML encoding errors are now checked for when writing objectives
- Added New menu option to all appropriate File menus
- Renamed Load option to Open... in all appropriate File menus
- Renamed Save option to Save As... in all appropriate File menus
- Added Select None option to all appropriate popups and Edit menus
- Added Select All option to all appropriate popups and Edit menus
- Added Invert Selection option to all appropriate popups and Edit menus
- Renamed Delete Row(s) option to Delete Selected in all appropriate popups
and Edit menus
- Added Add 5 Rows option to all appropriate popups and Edit menus
- Renamed Clear All to Delete All in all appropriate Edit menus
- Renamed Reset Results to Clear Results in all appropriate Run menus
- Added Delete current option to Massage and Objective Editors
- Moved defining API for a massage from MassageStatement to Massage
- Moved defining API for a function from FunctionalDataGenerator to
Functional
- Reorganized massages into new package
- Implemented support for menu key accelerators
- Added accelerators for commonly used menu items
- Implemented support for menu icons
- Added icon library to Compare
- Defined icons for all appropriate menu options
- Reorganized menu layout for all tabs and popups
- Fixed crash when deleting last massage or objective and then loading more
massages or objectives
- Moved defining API for a massage container to an interface called
MassageContainer and renamed the old MassageContainer to
NullMassageContainer
- Added contrib package to the build for future third-party
contributions
- Fixed bug in BoxMassageContainer that would cause it to hold two
InputMassages a fter a copy
- Fixed bug in MEOSummaryView that prevented update events from being sent
out
- Fixed bug in MassageStatement that would crash when inserting after or
deleting an InputMassage that should have had the context menu disabled
- Moved functionality in MassageStatement that is only used in InputMassage
to InputMassage
Changes Before Version 1.1.1
- Redid Select Columns UI to have graphical column picker
- Slightly adjusted layout of many components
- Updated massages to support existing annotations
- Added element name and size annotations
- Implemented annotation system for generators to describe the expected
contents of their element
- Updated build system to automate release process
- Updated documentation available in build
- Fixed SelectColumns massage when selecting only one column
- Added additional error checking when writing XML files
- Implemented splash screen while loading
- Added graphic to about dialog
- Fixed a possible thread safety issue with adding comparator tabs
- Added support for infinity, -infinity, and nan when parsing from text
- PTPlotBridge now silently discards unplottable points
- Implemented Extrema Test massage
- Implemented Boolean Relational objective
- Drew system diagrams for Comparator
- Added file picker to Input from JigCell Run Manager massage
- Added file picker to Read from File massage
- Added file picker to Write to File massage
- Created configuration framework for manipulating configurations
- Converted configuration file to XML
- Eliminated tab identification by number
- Added Clear option to model input
- Added Clear option to objective input
- Added Clear option to massage editor
- Added Clear option to objective editor
- Implemented massage container framework
- Implemented Box massage container
- Massage editor now sorts massages by name alphabetically
- Objective editor now sorts metrics by name alphabetically
- Made massage statement context menu configurable
Changes Before Version 1.1.0
- Fixed freeze when trying to plot without data in objective view
- Added UI to massage editor for deleting a massage step
- Added UI to massage editor for inserting before or after a massage
step
- Fixed massage editing after loading