org.processmining.analysis.conformance
Class ConformanceAnalysisSettings

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.processmining.analysis.conformance.ConformanceAnalysisSettings
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, ThreadNotificationTarget, GuiNotificationTarget

public class ConformanceAnalysisSettings
extends javax.swing.JPanel
implements ThreadNotificationTarget, GuiNotificationTarget

Displays the analysis settings frame that precedes the actual conformance analysis. The user are offered certain analysis options, which are specified in a logical way using a hierarchical AnalysisConfiguration object. The analysis categories themselves are associated to AnalysisMethod objects, which are an orthorgonal concept reflecting the kind of technique that is used to collect the data needed for a specific metric. The actual analysis will only be carried out for those methods that were selected by the user.

Author:
arozinat
See Also:
ConformanceAnalysisResults, AnalysisMethodExecutionThread, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
 GUIPropertyInteger restrictedDepth
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ConformanceAnalysisSettings(ConformanceAnalysisPlugin algorithm, AnalysisInputItem[] input, PetriNet net, LogReader log)
          Creates the analysis settings frame.
 
Method Summary
 void addMethodExecutionThread(AnalysisMethodExecutionThread thread)
          Registers another custom thread with this settings frame.
 AnalysisConfiguration getAnalysisConfiguration()
          Retrieves the copy of the current analysis configuration in order to carry out the analysis based on the chosen options.
 void initAnalysis()
          Prepares the actual analysis.
 void threadDone(AnalysisMethodExecutionThread thread)
          Called by each thread after having finished.
 void updateGUI()
          Will be called as soon the user restricts or unrestricts the search depth for invisible tasks during log replay.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

restrictedDepth

public GUIPropertyInteger restrictedDepth
Constructor Detail

ConformanceAnalysisSettings

public ConformanceAnalysisSettings(ConformanceAnalysisPlugin algorithm,
                                   AnalysisInputItem[] input,
                                   PetriNet net,
                                   LogReader log)
Creates the analysis settings frame.

Method Detail

updateGUI

public void updateGUI()
Will be called as soon the user restricts or unrestricts the search depth for invisible tasks during log replay.
Per default the restriction is selected and a depth value can be provided. However, as soon as the user deselects the depth limitation the corresponding spinner will be disabled (and it will be enabled as soon as the restriction is selected again).

Specified by:
updateGUI in interface GuiNotificationTarget

initAnalysis

public void initAnalysis()
Prepares the actual analysis. Should be called each time the "Start Analysis" has been pressed.


getAnalysisConfiguration

public AnalysisConfiguration getAnalysisConfiguration()
Retrieves the copy of the current analysis configuration in order to carry out the analysis based on the chosen options. Should only be invoked after initAnalysis has been called.
Note that all the method is synchronized as it will be accessed by concurrent threads executing the different analysis methods.

Specified by:
getAnalysisConfiguration in interface ThreadNotificationTarget
Returns:
the current AnalysisConfiguration

addMethodExecutionThread

public void addMethodExecutionThread(AnalysisMethodExecutionThread thread)
Registers another custom thread with this settings frame. This is used in order to ensure every method execution being finished before their analysis results can be used for building the results frame.

Parameters:
thread - the method execution thread to be added
See Also:
buildResultsFrame()

threadDone

public void threadDone(AnalysisMethodExecutionThread thread)
Called by each thread after having finished. Checks whether there are still other analysis methods running. Builds the result frame if not, does nothing otherwise.
Note that all the method is synchronized as it will be accessed by concurrent threads executing the different analysis methods.

Specified by:
threadDone in interface ThreadNotificationTarget
Parameters:
thread - the thread that just finished