org.processmining.analysis.logstatistics
Class LogStatistic

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.logstatistics.LogStatistic
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class LogStatistic
extends javax.swing.JPanel

Provides some simple log statistics related to the duration of and the distance between activities.

Author:
anne
See Also:
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
 
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
LogStatistic(java.lang.String name, OptionPanel displayOptions)
          Constructor.
 
Method Summary
 void addActivityDistanceValue(long value)
          Adds a new value to the overall activity distance statistics.
 void addActivityDurationValue(java.lang.String activity, long value)
          Adds a new value to the duration statistics for the given activity.
 void addTimestampValue(long value)
          Adds a new value to the overall timestamp statistics.
 java.util.HashMap<java.lang.String,org.apache.commons.math.stat.descriptive.SummaryStatistics> getActivityDurations()
          Retrieves all the activity duration statistics for this log statistic.
static Distribution getDistributionObject(org.apache.commons.math.stat.descriptive.SummaryStatistics statistic)
          Returns a distribution object that represents the given statistics.
 javax.swing.JPanel getResultPanel(org.processmining.analysis.logstatistics.OptionPanel.GraphViewProperties properties)
          Displays the results as a bar chart according to the current display settings.
 javax.swing.JPanel getResultPanel(org.processmining.analysis.logstatistics.OptionPanel.TextViewProperties properties)
          Delivers a HTML representation of the statistic results according to the current display settings.
 javax.swing.JPanel getResultPanel(org.processmining.analysis.logstatistics.OptionPanel.ViewMode properties)
          Dispatches the creation of the correct view mode properties.
static double getStatisticValue(org.apache.commons.math.stat.descriptive.SummaryStatistics statistic, org.processmining.analysis.logstatistics.OptionPanel.ResultType type)
          Delivers the basic statistic values for the given statistic object in the requested result type (e.g., minimum or sum value).
 org.apache.commons.math.stat.descriptive.SummaryStatistics getTimeStampStatistics()
          Retrieves the general time stamp statistics for this log statistic.
 void saveAsPNG(org.jfree.chart.JFreeChart chart)
          Saves the given chart as a PNG file.
 
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
 

Constructor Detail

LogStatistic

public LogStatistic(java.lang.String name,
                    OptionPanel displayOptions)
Constructor.

Parameters:
name - the name to be included in the HTML representation of this statistic
Method Detail

addActivityDurationValue

public void addActivityDurationValue(java.lang.String activity,
                                     long value)
Adds a new value to the duration statistics for the given activity.
Note that the value itself will be not kept in memory and therefore some statistical methods such as calculating the Median are not possible afterwards.

Parameters:
activity - the activity for which the new value is provided
value - the new measurement that is provided

addActivityDistanceValue

public void addActivityDistanceValue(long value)
Adds a new value to the overall activity distance statistics.
Note that the value itself will be not kept in memory and therefore some statistical methods such as calculating the Median are not possible afterwards.

Parameters:
value - the new measurement that is provided

addTimestampValue

public void addTimestampValue(long value)
Adds a new value to the overall timestamp statistics.
Note that the value itself will be not kept in memory and therefore some statistical methods such as calculating the Median are not possible afterwards.

Parameters:
value - the new measurement that is provided

getTimeStampStatistics

public org.apache.commons.math.stat.descriptive.SummaryStatistics getTimeStampStatistics()
Retrieves the general time stamp statistics for this log statistic.

Returns:
the time stamp statistics (earliest timetamp is min(), latest is max() etc.)

getActivityDurations

public java.util.HashMap<java.lang.String,org.apache.commons.math.stat.descriptive.SummaryStatistics> getActivityDurations()
Retrieves all the activity duration statistics for this log statistic.

Returns:
the activity duration statistics

getDistributionObject

public static Distribution getDistributionObject(org.apache.commons.math.stat.descriptive.SummaryStatistics statistic)
Returns a distribution object that represents the given statistics.

Parameters:
statistc - the statistics object that shall be represented as a distribution
Returns:
the distribution object

getStatisticValue

public static double getStatisticValue(org.apache.commons.math.stat.descriptive.SummaryStatistics statistic,
                                       org.processmining.analysis.logstatistics.OptionPanel.ResultType type)
Delivers the basic statistic values for the given statistic object in the requested result type (e.g., minimum or sum value).

Parameters:
type - the type of result value that is requested
statistic - the statistic object from which the value is requested
Returns:
the requensted distance measurement value

getResultPanel

public javax.swing.JPanel getResultPanel(org.processmining.analysis.logstatistics.OptionPanel.ViewMode properties)
Dispatches the creation of the correct view mode properties.

Parameters:
properties - the current view mode properties
Returns:
the panel displaying the results according to the view mode properties

getResultPanel

public javax.swing.JPanel getResultPanel(org.processmining.analysis.logstatistics.OptionPanel.TextViewProperties properties)
Delivers a HTML representation of the statistic results according to the current display settings.
The reason for displaying HTML is that it can easily be copied and pasted from the framework to, e.g., a word processing program.

Parameters:
properties - the current display settings
Returns:
the panel containing the text pane and the "save as HTML" button

getResultPanel

public javax.swing.JPanel getResultPanel(org.processmining.analysis.logstatistics.OptionPanel.GraphViewProperties properties)
Displays the results as a bar chart according to the current display settings.

Parameters:
properties - the current graphical display settings
Returns:
the panel containing the chart and the "save as PNG" button

saveAsPNG

public void saveAsPNG(org.jfree.chart.JFreeChart chart)
Saves the given chart as a PNG file.

Parameters:
chart - the chart to be saved