jigcell.compare.views
Class EvaluationErrorViewer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by jigcell.compare.views.EvaluationErrorViewer
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, IEvaluationListener

public final class EvaluationErrorViewer
extends javax.swing.JDialog
implements java.awt.event.ActionListener, IEvaluationListener

Displays errors encountered during data generator evaluation.

This code is licensed under the DARPA BioCOMP Open Source License. See LICENSE for more details.

Author:
Nicholas Allen
See Also:
Serialized Form

Nested Class Summary
private  class EvaluationErrorViewer.ErrorModel
          Model for an evaluation error viewer dialog.
private static class EvaluationErrorViewer.ErrorRecord
          Error record.
private  class EvaluationErrorViewer.MoreButtonEditor
          Editor for the more information button.
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static java.lang.String BUTTON_CLEAR
          Button to clear the list of errors
private static java.lang.String BUTTON_HIDE
          Button to hide the dialog
private  EvaluationErrorViewer.ErrorRecord errorRecord
          Next error to add to the viewer
private  java.util.List errors
          Errors that this viewer has detected
private  java.lang.Object LOCK_ERRORRECORD
          Lock to prevent concurrent access on errorRecord
private  InterfaceBuilder manager
          Interface manager for this viewer
private  EvaluationErrorViewer.ErrorModel model
          Table model
private  ITab owner
          The tab that launched this error viewer
private  BasicTable table
          Table
private  java.util.List viewables
          Objects that this viewer is monitoring
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
EvaluationErrorViewer(Compare compare, ITab owner)
          Creates a new viewer for evaluation errors.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void add(IProgrammableDataGenerator generator)
          Adds a new data generator for this viewer to monitor.
 void add(ITransformContext context)
          Adds a transform evaluation context for this viewer to monitor.
private  void addErrorRecordToView()
          Adds a new error record to the view.
private  void createUI()
          Creates an interface for the viewer.
 void evaluationError(IProgrammableDataGenerator source, java.lang.Throwable t)
          Notification that an error occurred during evaluation.
 void evaluationStart(IProgrammableDataGenerator source)
          Notification for the start of an evaluation.
 void evaluationStop(IProgrammableDataGenerator source, IDataElement result)
          Notification for the end of an evaluation.
 void remove(IProgrammableDataGenerator generator)
          Stops monitoring for a data generator.
 void remove(ITransformContext context)
          Stops monitoring for a transform evaluation context.
 void removeAll()
          Stops all monitoring.
 void setVisible(boolean visible)
           
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BUTTON_CLEAR

private static final java.lang.String BUTTON_CLEAR
Button to clear the list of errors

See Also:
Constant Field Values

BUTTON_HIDE

private static final java.lang.String BUTTON_HIDE
Button to hide the dialog

See Also:
Constant Field Values

table

private BasicTable table
Table


model

private EvaluationErrorViewer.ErrorModel model
Table model


errorRecord

private EvaluationErrorViewer.ErrorRecord errorRecord
Next error to add to the viewer


manager

private InterfaceBuilder manager
Interface manager for this viewer


owner

private ITab owner
The tab that launched this error viewer


errors

private java.util.List errors
Errors that this viewer has detected


viewables

private java.util.List viewables
Objects that this viewer is monitoring


LOCK_ERRORRECORD

private final java.lang.Object LOCK_ERRORRECORD
Lock to prevent concurrent access on errorRecord

Constructor Detail

EvaluationErrorViewer

public EvaluationErrorViewer(Compare compare,
                             ITab owner)
Creates a new viewer for evaluation errors.

Parameters:
compare - Comparator
owner - Owner of this viewer, or null to disable automatically showing this viewer on errors
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

add

public void add(IProgrammableDataGenerator generator)
Adds a new data generator for this viewer to monitor.

Parameters:
generator - Generator

add

public void add(ITransformContext context)
Adds a transform evaluation context for this viewer to monitor.

Parameters:
context - Context

evaluationError

public void evaluationError(IProgrammableDataGenerator source,
                            java.lang.Throwable t)
Notification that an error occurred during evaluation. This notification is made before any error recovery is attempted.

Specified by:
evaluationError in interface IEvaluationListener
Parameters:
source - Generator
t - Throwable

evaluationStart

public void evaluationStart(IProgrammableDataGenerator source)
Notification for the start of an evaluation. This notification is made before any locks are acquired.

Specified by:
evaluationStart in interface IEvaluationListener
Parameters:
source - Generator

evaluationStop

public void evaluationStop(IProgrammableDataGenerator source,
                           IDataElement result)
Notification for the end of an evaluation. This notification is made after the result has been computed and all locks have been released.

Specified by:
evaluationStop in interface IEvaluationListener
Parameters:
source - Generator
result - Evaluation result

remove

public void remove(IProgrammableDataGenerator generator)
Stops monitoring for a data generator.

Parameters:
generator - Generator

remove

public void remove(ITransformContext context)
Stops monitoring for a transform evaluation context.

Parameters:
context - Context

removeAll

public void removeAll()
Stops all monitoring.

Overrides:
removeAll in class java.awt.Container

setVisible

public void setVisible(boolean visible)
Overrides:
setVisible in class java.awt.Component

addErrorRecordToView

private void addErrorRecordToView()
Adds a new error record to the view. This method must only be called from the event thread and while the error record lock is held.


createUI

private void createUI()
Creates an interface for the viewer.