Changes Before Version 2.0.5
- Fixed MinkowskiDataGenerator to prevent crash when only one generator name
is provided
- Made accessors for input and output descriptions of transforms and
objectives protected to prevent serialization of descriptions
- Detect when experiments are not found in ModelDataSeriesView and
ObjectiveSummaryView and use a more specific error message for that case
- Fixed bad generic error message in ModelDataSeriesView
- Made loading column names even lazier to reduce transform set loading times
when loading a transform that selects columns from a simulation
- Investigated if bytecode compiler can be encouraged to optimize transform
and object evaluation methods (looks like more recent compilers already do
it)
- Replace buffers in WOSS and Minkowski with larger, instance shared buffers
that are memory sensitive
- Integrated latest version of Jikes
- Cleaned up and sorted imports in all files
- Changed ModelDataSeriesView to automatically update the context of all
transforms it is aware of
- Fixed exception when setting the result name to the same name in
InputTransform
- Changed WriteToFileTransform to create parent directories before attempting
to write
- Fixed comparison type not being recognized after deserialization
- Made typing in a table without caret replace instead of append
- Updated sample files to new model builder and run manager formats
Changes Before Version 2.0.4
- Added clear selected option to model and objective view
- Added run selected option to model and objective views
- Added Find function that searches for a generator by name starting from the
top
- Added Find Again function that searches for a generator by name starting
with the currently selected generator
- Created a defining interface for searching by generator name
- Added Find and Find Again to Compare^2
- Refactored shared functionality out of BasicTableView, TransformEditor, and
ObjectiveEditor to BasicPanelTab
- Refactored data manipulation routines out of EditableDataSeriesView,
Compare^2, TransformEditor, and ObjectEditor to BasicPanelTab
- Made ObjectiveEditor and TransformEditor data manipulators
- Added checks to JigCellRunManagerInputTransform to suppress redundant
changes of run name or number
- Fixed objective summary view to properly sort objectives of different
types
- Implemented importing transforms from a transform set to a
TransformEditor
- Added saving and loading of transform catalogs to TransformEditor
- Implemented importing objectives from an objective set to an
ObjectiveEditor
- Added saving and loading of objective catalogs to ObjectiveEditor
- Made support for multiple customizer views of a generator queryable
- Suppressed customizer view display of a transform in transform debugger
unless explicitly supported
- Made the zoomed view of Compare^2 resizable and non-modal
- Added documentation for creating a new objective function
- Created an objective function template and helper implementation
- Added an input description query to objective functions
- Required all objective functions to provide an input description
- Added a basic input description to all existing objective functions
- Created a debugging interface for transform contexts
- Implemented debugging context in DefaultTransformEvaluationContext
- Updated TransformStatement to report to the debugging context
- Added debugging hooks to TransformDebugger for reporting
- Added multiple stepped execution to Transform Debugger
- Suppressed normal selection updating when debugging
- Added slow mulitple stepped execution to Transform Debugger
- Made executing transforms highlight red in Transform Debugger
- Fixed deadlock when looking at an evaluating transform
- Fixed deadlock when querying an evaluating transform
- Disabled multiple stepped execution buttons and menu items when no
transform is cursored or during evaluation
- Added single stepped execution to Transform Debugger
- Updated button lockouts for single stepped execution
- Fixed deadlock when evaluating a model while a transform is debugging
- Moved button lockout manipulation to event thread from transform
thread
- Fixed deadlock when clearing model results while a transform is
debugging
- Fixed deadlock when clearing objective results while a transform is
debugging
- Added debugging termination reporting to Transform Debugger to correctly
clean up after debugging
- Put in safeguards to reduce chance of interrupt reaching OAA when debugging
(this is fatal)
- Added stop button to Transform Debugger
- Fixed cleanup on sudden transform stop
- Fixed button lockout not restoring correctly after a stop or crash
- Added thread safety checks to transform debug stepping to ensure another
debug isn't being attempted
- Added pause button to Transform Debugger
- Made playing and stepping a paused transform resume instead of starting a
new debug session
- Updated button lockout to handle stopping and single stepping
- Fixed deadlock when changing the transform cursor during debugging manually
(change transform cursor is now locked out)
- Blanked value and annotation panels when querying them would result in
deadlock
- Fixed various issues with button lockout
- Routed ThreadDeath through TransformDebugger and TransformStatement to
prevent the evaluation lock from being lost out of a transform
- TransformStatement is now more robust to errors in evaluation
- Refactored transform display updating in Transform Debugger to reduce code
duplication
- Guarded against evaluation end notifications blocking on fork to event
queue when already running on event queue
- Fixed minor bugs with lockouts not disabling or restoring the correct
elements
- Cleaned up how debug play delays are stored and checked
- Removed synchronization modifier from methods that must only be called on
the event thread in Transform Debugger
- Exposed public methods in Transform Debugger for flushing selected,
clearing selected, setting selected, and stepping at various speeds
- Added ability to compute forwards and backwards traces from a
transform
- Required that transforms be queryable for their container
- Added querying the transform container to TransformStatement
- Made the current trace highlight green in Transform Debugger
- Changed transform tree and cursor manipulations to clear the trace
- Fixed incorrect next statements in transforms that were constructed using
only previous additions
- Changed updates to next statements in transforms to immediately update the
corresponding previous fields
- Fixed UI freeze in Transform Debugger when cleaing an evaluating
transform
- Fixed UI freeze in Transform Debugger when flushing an evaluating
transform
- Added interface lockout to Compare^2 threshold editor when there is no
objective set
- Added interface lockout to renaming and deleting transform in Transform
Editor when there are no transforms
- Added interface lockout to renaming and deleting objectives in Objective
Editor when there are no objectives
- Reorganized Transform Editor and Objective Editor to centralize interface
lockout
- Reorganized Transform Debugger to centralize interface lockout
- Added null checks to interface lockouts in Transform Debugger
- Prevented the transform tree from being traversed in Transform Debugger
during debugging
- Made refreshing the transform tree kill the debug session
- Fixed deadlock in Transform Debugger when refreshing the transform tree
during an evaluation
- Fixed UI freeze when tracing through a transform that is evaluating
- Prevented single step evaluation from reenabling the ability to trace the
current transform during debugging
- Changed all direct accesses of model column positions to function
calls
- Added comparison type attribute to ObjectiveSummaryView
- Added comparison type class enumerating valid types
- Eliminated redundant column definitions between ObjectiveSummaryView and
MEOSummaryView
- Renamed some columns in ObjectiveSummaryView
- Added comparison type column to ObjectiveSummaryView display
- Moved threshold comparison highlighting from threshold column to accept
column
- Added option to cell renderer to center text in a column
- Fixed ObjectiveSummaryView to blank illegal comparisons or thresholds
- Replaced threshold with Equivalent when comparison is equality
- Updated TransformDebugger to display indirect dependencies when walking
transform tree
- Added support for jAdvise SEQUENCE tracing
- Eliminated redundant clear calls in setRunInfo of
JigCellRunManagerInputTransform
- Moved generator annotations to new package
- Eliminated some duplicated code between generator annotations
- Added new generator annotations for column counts, column names, element
types, and general comments
- Updated existing annotation providers to use new annotations
- Added a convenience method to simplify registering an annotation
descriptor
- Added additional annotation information to JigCellRunManagerInputTransform
and ReadFromFileTransform
- Fixed deadlock in TransformDebugger when examining a transform in a
post-evaluation callback
- Fixed documentation in CachedDataElement, ClipboardDataSource,
CompareConfig, DataGeneratorEvaluator, DataManager, FileDataSource,
FlippedDataElement, MethodDispatcher, NullDataSource, PackedTreeDataElement,
PrinterDataSource, SimpleTransferer, SparseTreeDataElement, and
SuffixFileFilter
- Added default constructors to NullDataElement, NullDataGenreator, and
NullEditableDataElement
- Cleaned up ClipboardDataSource, FileDataSource, and PrinterDataSource
- Cleaned up and eliminated redundant code in MethodDispatcher
- Exposed mime type strings in ComparatorDataFlavor
- Cleaned up CachedDataElement, CompareConfig, DataManager,
FlippedDataElement, PackedTreeDataElement, SimpleTransferer, and
SparseTreeDataElement
- Combined exception logging and assertion in Compare
- Replaced all existing logging and assertion pairs with combined call
- Minor cleanup to ExtremaTestTransform and FlippedDataElement
- Fixed bad interface update in JigCellRunManagerInputTransform
- Added data and workflow digrams to documentation
- Added transform evaluation sequence diagram to documentation
- Moved code to show transform descriptions in debugger out of event
dispatcher
- Fixed bug in TransformStatement that caused the customizer for the box
container to be incorrectly constructed
- Fixed bugs in JigCellRunManagerInputTransform that caused the run names to
be incorrectly computed
- Eliminated direct references to ArrayList except where required
- Added interfaces to mark lists and maps of data generators
- Created an implementation for holding a list of data generators
- Replaced the reference type of lists of data generators
- Created Experiment and Attribute classes to convert between native and
database objects
- Created an implementation for holding a map of data generators
- Replaced the reference types of maps of data generators
- Added an automatically generated id field to EditableDataGenerator
- Made a WriteableDataGenerator interface to describe editable data
generators
- Changed EditableDataGenerator to implement WriteableDataGenerator
- Changed the names of column headers in ObjectiveSummaryView
- Changed the colored column of ObjectiveSummaryView to the Acceptable
column
- Made the colors of ObjectiveSummaryView configurable by RGB values
- Revised customizer creation in data generators to make objectives and
transforms work the same
- Cleaned up customizer creation process to streamline initialization
- Created a framework to manage interface widgets for a component
- Migrated objective functions to use the interface manager
- Migrated templates to use the interface manager
- Changed customizer creation process in transform containers to gain access
to the customizer name in the inner customizer creator
- Added support for creating check boxes to the interface manager
- Migrated transforms to use the interface manager
- Added support for creating lists to the interface manager
- Added row fill and centering options to the interface manager
- Changed interface manager to support multiple blocks of rows
- Flagged all existing transforms and objectives as supporting multiple
views
- Added additional error checking to JigCellRunManagerInputTransform to
recover from being unable to determine the column headers
- Restored getDefaultInnerCustomizer to TransformHelper to make old
transforms using the template work
- Fixed incorrect name for ColumnCountAnnotation
Changes Before Version 2.0.3
- Removed loops in saves for EditableDataSeriesView, ObjectiveSummaryView,
and Compare2
- Changed getLiteralValue to always match the return result of
forceLiteralValue
- Fixed exception in Compare^2 when attempting to zoom a view with no
data
- Added frame icon to CompareFE
- Added additional application icons to CompareFE
- Changed several usages of ArrayList in interfaces and classes to List
- Made minor documentation corrections
- Wrapped transform customizer in editor with a scroll pane
- Created prototype for a transform debugger
- Added transform value view to transform debugger
- Added transform view to transform debugger
- Allowed transforms to return multiple customizers to different
consumers
- Added transform information view to transform debugger
- Added tracking to customizer creation to ensure that a consumer can
replicate a customizer
- Updated existing customizer users to enable creation tracking
- Added annotation view to transform debugger
Changes Before Version 2.0.2
- Switched order of author and license in class documentation to avoid
confusing some tools
- Added logging facility to Compare
- Added logging for all exceptions thrown in Compare and CompareFE
- Made displayed exceptions in CompareFE use the shell hook
- Added logging to some startup operations
- Updated javadoc options in Makefile
- Prevented logging facility from printing to the screen in normal cases
- Made exception debugging toggling a menu item
- Fixed incorrect field visibility for debug menu item label in
CompareFE
- Updated documentation in Compare and CompareFE
- Made an indeterminate progress monitor
- Added a read helper to BasicTableView to do loading on another thread with
a progress monitor and callbacks into the view for processing
- Updated EditableDataSeriesView, ExperimentDataSeriesView,
ModelDataSeriesView, and ObjectiveSummaryView to use the new read helper
- Eliminated redundant code from views after read helper refactoring
- Prevented the splash screen from synchronizing on the splash lock if the
splash screen is closed before the splash lock is created
- Updated documentation in BasicTableView
- Created a data source that writes to the printer
- Added support for printing plain text and html from a variety of source
types
- Added print icon to Compare
- Implemented printing experimental data in ExperimentDataSeriesView
- Added constructor to FlippedDataElement to replace factory method
- Moved variables unused in Compare to CompareFE
- Moved most tab addition work to CompareFE
- Updated documentation in several classes
- Implemented ability to give an InputTransform a name to a result
- Added support to TransformStatement and TransformEditor for working with
result names
- Prevented TransformStatement from serializing evaluationState
- Renamed getReorderable in Transform to isReorderable
- Fixed some bugs in computation of getRunnable and isReorderable
- Added ability to query a transform about transforms it depends on
- Made Tests uninstantiable
- Updated MethodDispatcher to use Compare logging facilities
- Implemented printing model data in ModelDataSeriesView
- Implemented printing objective data in MEOSummaryView
- Added documentation for and did some clean up to EditableDataSeriesView,
ExperimentDataSeriesView, ModelDataSeriesView, and MEOSummaryView
- Added a formatted printing option to DataElement
- Removed transform value column from the html version of MEOSummaryView
- Limited the number of digits printed to 6 in the transfer varieties
- Added input and output descriptions to all existing transforms
- Added documentation for several classes
- Performed a general cleanup of some synchronization uses in transforms
- Made input and output descriptions not serializable
- More aggressively set the listener of a FileDataSource when reading
- Fixed several problems with the way the runnable and reorderable checks
were being done
- Implemented a transform evaluation context to communicate partial
results
- Added transform evaluation context manipulation to existing transform
operations
- Implemented a tranform that evaluates a named transform
- Added coordination between ModelDataSeriesView and MEOSummaryView to share
a transform evaluation context
- Cleaned up existing view colorers for Compare^2
- Added view colorer for showing absolute performance relative to a
threshold
- Added view colorer for showing performance relative to the previous
result
- Added additional method to Compare^2 view colorers to get cell color
without constructing a cell
- Implemented view zoom for showing cell colors without numbers
- Renamed and rearranged several view colorers
- Made prototype for Compare^2 threshold editor
- Added file chooser factory to Compare
- Created an interface to describe comparator tabs that manipulate cells
- Created an interface to describe comparator tabs that manipulate clipboard
data
- Created an interface to describe comparator tabs that manipulate data
collections
- Created an interface to describe comparator tabs that manipulate evaluation
results
- Created an interface to describe comparator tabs that manipulate table
rows
- Created an interface to describe comparator tabs that manipulate table
selections
- Extracted all functions that matched one of the comparator tab interfaces
out of EditableDataSeriesView, ObjectiveSummaryView, ModelDataSeriesView,
MEOSummaryView, and ExperimentDataSeriesView
- Augmented existing views with functions from comparator tab interfaces that
weren't fully implemented
- Performed a major overhaul of BasicTableView and all table models
- Performed a major overhaul of SimpleDataSeriesView
- Performed a major overhaul of EditableDataSeriesView
- Eliminated some unnecessary table updates in ModelDataSeriesView and
ObjectiveSummaryView
- Performed a major overhaul of ObjectiveSummaryView
- Performed a major overhaul of all cell renderers and view colorers
- Performed a major overhaul of ExperimentDataSeriesView
- Performed a major overhaul of MEOSummaryView
- Performed a major overhaul of all view data transferers
- Performed a major overhaul of ModelDataSeriesView
- Made minor documentation updates to Compare
- Added pdfdoclet and itext to build
- Automated pdf api creation and added product to main page
- Added jdiff to build
- Automated diff api creation and added product to main page
- Added javasrc to build
- Automated xref source creation and added product to main page
- Integrated latest versions of modelbuilder and runmanager
- Moved all front-end from Compare to CompareFE
- Changed descriptive name of JigCellRunManagerInputTransform
- Finished overhaul for all files in main package
- Finished overhaul for all files in ui package
- Performed a minor overhaul to all files in plotter package
- Finished overhaul for all files in cellcycle package
- Performed a minor overhaul to all files in test package
- Finished overhaul for all files in contrib package
- Moved readNotify for BasicTableView read helper from public to protected
visibility
- Finished overhaul for most files in compare2 package
- Created an interface to describe comparator tabs that manipulate row
selections
- Created an interface to describe comparator tabs that manipulate column
selections
- Created an interface to describe comparator tabs that manipulate table
columns
- Extracted all functions that matched one of the new interfaces out of the
UI classes
- Added note to all comparator tab interfaces that an
UnsupportedOperationException should be used to indicate unimplemented portions
of the interface
- Performed a major overhaul of Compare^2
- Made Compare^2 use the BasicTableView read helper for all loads
- Made all interface operations scriptable
- Performed a minor overhaul for all files in function package
- Performed a minor overhaul for all files in transform package
Changes Before Version 2.0.1
- Integrated JEP 2.23 into build
- Integrated JUnit 3.8.1 into build
- Changed "Next Statement" label in InputTransform to "Next statement"
- Changed the "Threshold" column of Compare^2 to "Objective Threshold"
- Changed NullViewColorer to color the columns of Compare^2 gray when
uneditable
- Made ThresholdRelativeViewColorer extend from NullViewColorer
- Prevented unlocking before locking during errors in MinkowkskiDataGenerator
and WOSSDataGenerator
- Added locking to ExtremaTestTransform, SelectColumnsTransform, and
WriteToFileTransform
- Removed unnecessary locking in NullDataElement
- Removed unused variable from ReadFromFileTransform
- Added jigcell.compare.tests package for tests
- Added JUnit launcher and menu item to CompareFE
- Created test suite dispatcher for collecting Comparator tests
- Created test suite for dispatching framework
- Made initial implemention of dispatching framework
- Created helper transform for using dispatching framework
- Created transform template for using dispatching framework
- Updated test suite for dispatching framework
- Added most loose matching conversions to dispatching framework
- Changed exception thrown out of dispatching framework to
NoDispatchableMethodException when no method is found
- Updated test suite for dispatching framework
- Fixed all known bugs for dispatching framework
- Move long constant pool implementation to NullDataElement
- Change all long constructors to reference the long constant pool
- Created constant value transform for use in tests
- Created dispatching framework test transform
- Added tests for actual dispatching operations to dispatch framework
tests
- Fixed bug in dispatching framework that caused primitive types in formal
arguments to not be targetable
Changes Before Version 2.0.0
- Converted CompareConfig to use read/write locks instead of instance
synchronization
- Sorted transforms in dropdown of ModelDataSeriesView
- Sorted objectives in dropdown of ObjectiveSummaryView
- Updated goals and list of known bugs
- Renamed EditableDataElement to SparseTreeDataElement
- Created new EditableDataElement as marker interface for editable data
elements
- Made SparseTreeDataElement implement EditableDataElement
- Made toString functions of NullDataElement mandatory in DataElement
- Moved special value function and constants from SparseTreeDataElement to
NullDataElement
- Updated all users of SparseTreeDataElement
- Added insert row at current position to EditableDataSeriesView
- Created NullEditableDataElement class to hold generic editable
implementation details
- Moved text representation parser from SparseTreeDataElement to
NullEditableDataElement
- Added small set of methods required by NullEditableDataElement to perform
element type independent parsing
- Implemented methods required by NullEditableDataElement in
SparseTreeDataElement
- Changed SparseTreeDataElement to cache and reuse more index objects
- Implemented many methods required by EditableDataElement in
NullEditableDataElement
- Added checked accesses to NullEditableDataElement
- Copied SparseTreeDataElement to PackedTreeDataElement removing all methods
implemented already in NullEditableDataElement
- Changed all accessor methods of PackedTreeDataElement to use the generic
methods of NullEditableDataElement
- Implemented the generic methods of NullEditableDataElement in
PackedTreeDataElement to access data in array chunks in a tree
- Changed JigCellRunManagerInputTransform to use PackedTreeDataElement
- Made exception debugging a configurable element
- Separated Compare frontend and backend components
- Updated web documentation for system
- Updated screenshots used in documentation
- Updated tutorial walkthrough for system
- Updated smoketests for system
- Created smoketest for Compare^2
- Fixed Compare^2 confusing the cellcycle components selection sharing
- Updated JigCell front page
- Updated documentation on building JigCell
- Fixed error in install.xml
- Updated sample data files used by run manager
- Integrated documentation and source code for run manager and model
builder