weka.gui.ensembleLibraryEditor
Class DefaultModelsPanel

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 weka.gui.ensembleLibraryEditor.DefaultModelsPanel
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.event.ChangeListener

public class DefaultModelsPanel
extends javax.swing.JPanel
implements java.awt.event.ActionListener, javax.swing.event.ChangeListener

This class is intended to build a panel that contains as interface that will let users choose default lists of models to add to the library. There will be default a list of models provided by the EnsembleLibrary class. In addition, the user will be able to prune the list of defaults to remove models that have either high training times, high testing times, or high file sizes on disk. Finally, users will be able to also prune the size of the current working default set to a specific number of models with a slider bar.

Version:
$Revision: 1.2 $
Author:
Robert Jung (mrbobjung@gmail.com)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
 java.lang.String[] EXCLUDE_OPTIONS
          options to exclude
static java.lang.String PROPERTY_FILE
          the name of the property file
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
DefaultModelsPanel(ListModelsPanel listModelsPanel)
          Constructor to initialize the GUI
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Deals with user input to the various buttons in this GUI
 void applyFileSizeFilters()
          Removes models from the list that fit the regular expressions defining models that have large file sizes
 void applyFilters(java.util.regex.Pattern[] patterns)
          This is the code common to the previous three methods.
 void applyTestTimeFilters()
          Removes models from the list that fit the regular expressions defining models that have large test times
 void applyTrainTimeFilters()
          Removes models from the list that fit the regular expressions defining models that have large train times
static java.lang.String getPackageName()
          this bit of code grabs all of the .model.xml files located in the ensemble selection package directory.
 void stateChanged(javax.swing.event.ChangeEvent e)
          this listener event fires when the use switches back to this panel it checks to se if the working directory has changed since they were here last.
 void updateDefaultList()
          This method is called in response to user actions prompting us to reload the model list: when they select a new list, or hit reload.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROPERTY_FILE

public static final java.lang.String PROPERTY_FILE
the name of the property file

See Also:
Constant Field Values

EXCLUDE_OPTIONS

public java.lang.String[] EXCLUDE_OPTIONS
options to exclude

Constructor Detail

DefaultModelsPanel

public DefaultModelsPanel(ListModelsPanel listModelsPanel)
Constructor to initialize the GUI

Parameters:
listModelsPanel - the panel to use
Method Detail

updateDefaultList

public void updateDefaultList()
This method is called in response to user actions prompting us to reload the model list: when they select a new list, or hit reload.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Deals with user input to the various buttons in this GUI

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - the event

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
this listener event fires when the use switches back to this panel it checks to se if the working directory has changed since they were here last. If so then it updates the model list.

Specified by:
stateChanged in interface javax.swing.event.ChangeListener
Parameters:
e - the event

applyTrainTimeFilters

public void applyTrainTimeFilters()
Removes models from the list that fit the regular expressions defining models that have large train times


applyTestTimeFilters

public void applyTestTimeFilters()
Removes models from the list that fit the regular expressions defining models that have large test times


applyFileSizeFilters

public void applyFileSizeFilters()
Removes models from the list that fit the regular expressions defining models that have large file sizes


applyFilters

public void applyFilters(java.util.regex.Pattern[] patterns)
This is the code common to the previous three methods. It basically takes a Java regexp pattern and applies it to the currently selected list of models, removing those that match as it goes.

Parameters:
patterns - the regexp patterns

getPackageName

public static java.lang.String getPackageName()
this bit of code grabs all of the .model.xml files located in the ensemble selection package directory. I decided to detect this * directory in case we change the package name which I think we planned on doing.

Returns:
the package name