cdx.scorebot.app.reporter
Class ReporterGUI

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by cdx.scorebot.util.swing.FileMenuFrame
                          extended by cdx.scorebot.util.swing.FileMenuXMLBasedFrame<CompetitionConfiguration>
                              extended by cdx.scorebot.app.reporter.ReporterGUI
All Implemented Interfaces:
FileOpener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ReporterGUI
extends FileMenuXMLBasedFrame<CompetitionConfiguration>
implements FileOpener

Compiles ScoreEvents into HTML products. One is an intentionally incomplete and only shows known incidents. The other is a complete breakdown which allows one to drill down and see what ScoringRules and TestEvents each penalty was deduced from.

Author:
David Underhill
See Also:
Serialized Form

Nested Class Summary
static class ReporterGUI.REPORT_SCOPE
           
static class ReporterGUI.REPORT_TYPE
           
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class cdx.scorebot.util.swing.FileMenuXMLBasedFrame
object
 
Fields inherited from class cdx.scorebot.util.swing.FileMenuFrame
baseTitle, dialogTxt, dialogTxtShort, extFilter, mnuExit, mnuFile, mnuNew, mnuOpen, mnuSave, mnuSaveAs, mnuSep, recentlyUsedFiles, saved, saveExtension, settings, SETTINGS_FN
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ReporterGUI()
          Creates new form ReporterGUI
 
Method Summary
static void compile(CompetitionConfiguration config, java.lang.String reportComments, java.lang.String outputPath, ReporterGUI.REPORT_SCOPE scope, ReporterGUI.REPORT_TYPE type, boolean openInBrowser)
          compile the report from the current template for each team
static void compile(CompetitionConfiguration config, java.lang.String reportComments, java.util.Vector<java.lang.String> teamComments, java.lang.String outputPath, ReporterGUI.REPORT_SCOPE scope, ReporterGUI.REPORT_TYPE type, boolean openInBrowser)
          compile the report from the current template for each team
static void compile(CompetitionConfiguration config, java.lang.String reportComments, java.util.Vector<java.lang.String> teamComments, java.lang.String outputPath, ReporterGUI.REPORT_SCOPE scope, ReporterGUI.REPORT_TYPE type, javax.swing.JProgressBar progressBar, boolean openInBrowser)
          compile the report from the current template for each team
 void exit()
          close the program
 boolean getOpenBrowser()
          gets whether or not logging to a file should be done
static void main(java.lang.String[] args)
          Runs the ScoringCompilerGUI if no arguments are given.
 CompetitionConfiguration makeNew()
          create a new object of type T
 boolean openFile(java.lang.String fn)
          Open a NetworkTestPackage or a SkeletonNTP with the specified filename.
 void postOpenFile(boolean success)
          Sets the text of the template filename, the description of the NTP, and updates all bound fields.
 void preOpenFile()
          A method which is executed prior to the openFile method.
 void setOpenBrowser(boolean b)
          sets whether or not logging to a file should be done (only affects compilations started AFTER this is set)
 
Methods inherited from class cdx.scorebot.util.swing.FileMenuXMLBasedFrame
getMyClass, isSaved, newFile, openMostRecent, openMostRecentOnStartup, postNewFile, postSaveFile, preNewFile, preSaveFile, saveFile, setMyClass, setOpenMostRecentOnStartup
 
Methods inherited from class cdx.scorebot.util.swing.FileMenuFrame
checkSaveStatus, dontCheckedSavedStatus, getFilename, newFileProcessor, openFile, openFileFromFN, saveFile, saveFileAs, setDontCheckedSavedStatus, setFilename, setSaved, setTeminateOnExit, setTitle, teminateOnExit
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, 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, removeAll, removeContainerListener, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface cdx.scorebot.util.swing.FileOpener
openFileFromFN
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

ReporterGUI

public ReporterGUI()
Creates new form ReporterGUI

Method Detail

makeNew

public CompetitionConfiguration makeNew()
create a new object of type T

Specified by:
makeNew in class FileMenuXMLBasedFrame<CompetitionConfiguration>

preOpenFile

public void preOpenFile()
Description copied from class: FileMenuXMLBasedFrame
A method which is executed prior to the openFile method.

Overrides:
preOpenFile in class FileMenuXMLBasedFrame<CompetitionConfiguration>

openFile

public boolean openFile(java.lang.String fn)
Open a NetworkTestPackage or a SkeletonNTP with the specified filename.

Overrides:
openFile in class FileMenuXMLBasedFrame<CompetitionConfiguration>
Parameters:
fn - the name and path of the file to open
Returns:
true if the filename was successfully opened

postOpenFile

public void postOpenFile(boolean success)
Sets the text of the template filename, the description of the NTP, and updates all bound fields.

Overrides:
postOpenFile in class FileMenuXMLBasedFrame<CompetitionConfiguration>

exit

public void exit()
close the program

Overrides:
exit in class FileMenuXMLBasedFrame<CompetitionConfiguration>

getOpenBrowser

public boolean getOpenBrowser()
gets whether or not logging to a file should be done


setOpenBrowser

public void setOpenBrowser(boolean b)
sets whether or not logging to a file should be done (only affects compilations started AFTER this is set)


compile

public static void compile(CompetitionConfiguration config,
                           java.lang.String reportComments,
                           java.lang.String outputPath,
                           ReporterGUI.REPORT_SCOPE scope,
                           ReporterGUI.REPORT_TYPE type,
                           boolean openInBrowser)
compile the report from the current template for each team

Parameters:
config - the competition configuration
reportComments - what comments to add to the report index
outputPath - where to output the report to
scope - whether or not to include all information or just reported information
type - what kind of statistics to compile

compile

public static void compile(CompetitionConfiguration config,
                           java.lang.String reportComments,
                           java.util.Vector<java.lang.String> teamComments,
                           java.lang.String outputPath,
                           ReporterGUI.REPORT_SCOPE scope,
                           ReporterGUI.REPORT_TYPE type,
                           boolean openInBrowser)
compile the report from the current template for each team

Parameters:
config - the competition configuration
reportComments - what comments to add to the report index
teamComments - what comments to add to individual teams (ignored if null)
outputPath - where to output the report to
scope - whether or not to include all information or just reported information
type - what kind of statistics to compile
openInBrowser - whether or not to open the generated page in the default browser

compile

public static void compile(CompetitionConfiguration config,
                           java.lang.String reportComments,
                           java.util.Vector<java.lang.String> teamComments,
                           java.lang.String outputPath,
                           ReporterGUI.REPORT_SCOPE scope,
                           ReporterGUI.REPORT_TYPE type,
                           javax.swing.JProgressBar progressBar,
                           boolean openInBrowser)
compile the report from the current template for each team

Parameters:
config - the competition configuration
reportComments - what comments to add to the report index
teamComments - what comments to add to individual teams (ignored if null)
outputPath - where to output the report to
scope - whether or not to include all information or just reported information
type - what kind of statistics to compile
progressBar - may be specified if the user wants to track progress (null => no impact)
openInBrowser - whether or not to open the generated page in the default browser

main

public static void main(java.lang.String[] args)
Runs the ScoringCompilerGUI if no arguments are given. Otherwise, the first argument is used to load a network test package which is then compiled. Progress will be output to standard out unless the -q switch is provided prior to the network test package filename (ie java -jar scoring_compiler.jar -q myconfig.ntp.xml).

Parameters:
args - the command line arguments