Class CompareTab
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.core.DetachablePanel
-
- adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
-
- adams.gui.tools.wekainvestigator.tab.CompareTab
-
- All Implemented Interfaces:
CleanUpHandler
,StatusMessageHandler
,PopupMenuProvider
,WekaInvestigatorDataListener
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class CompareTab extends AbstractInvestigatorTab
For comparing datasets.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
AbstractInvestigatorTab.SerializationOption
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description static String
KEY_FIRST_ATTRANGE
static String
KEY_FIRST_DATASET
static String
KEY_SECOND_ATTRANGE
static String
KEY_SECOND_DATASET
protected BaseButton
m_ButtonData
the button for comparing the data.protected BaseButton
m_ButtonStructure
the button for comparing the structure.protected BaseComboBox<String>
m_ComboBoxFirstDataset
the first dataset.protected BaseComboBox<String>
m_ComboBoxFirstID
the ID attribute in the first dataset to use for comparing the data.protected BaseComboBox<String>
m_ComboBoxSecondDataset
the second dataset.protected BaseComboBox<String>
m_ComboBoxSecondID
the ID attribute in the second dataset to use for comparing the data.protected TextFileChooser
m_FileChooserIDs
the file saver for storing the IDs.protected gnu.trove.list.TIntList
m_FirstAttributes
the first set of attributes.protected weka.core.Instances
m_FirstData
the first dataset.protected BaseList
m_ListCommonIDs
the JList with the common IDs.protected DefaultListModel<String>
m_ModelCommonIDs
the model with the common IDs.protected DefaultComboBoxModel<String>
m_ModelFirstDataset
the first dataset model.protected DefaultComboBoxModel<String>
m_ModelFirstID
the first ID attribute model.protected DefaultComboBoxModel<String>
m_ModelSecondDataset
the second dataset model.protected DefaultComboBoxModel<String>
m_ModelSecondID
the second ID attribute model.protected InstancePanel
m_PanelBoth
the panel for displaying the two instances.protected JPanel
m_PanelComparison
the overall panel for comparison.protected JPanel
m_PanelData
the panel for the data.protected JPanel
m_PanelDatasets
the panel for the datasets.protected InstancePanel
m_PanelDifference
the panel with the difference.protected JPanel
m_PanelStructure
the panel for the structure.protected ReportFactory.Table
m_ReportTable
the table with the report.protected gnu.trove.list.TIntList
m_SecondAttributes
the second set of attributes.protected weka.core.Instances
m_SecondData
the second dataset.protected BaseTabbedPane
m_TabbedPaneData
the tabbed pane for the data.protected BaseTextArea
m_TextCommon
the IDs present in both datasets.protected BaseTextField
m_TextFirstRange
the text field for the first attribute range.protected BaseTextArea
m_TextOnlyFirst
the IDs only present in the first dataset.protected BaseTextArea
m_TextOnlySecond
the IDs only present in the second dataset.protected BaseTextField
m_TextSecondRange
the text field for the second attribute range.protected BaseTextArea
m_TextStructure
the text area with the structure output.-
Fields inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
m_ActualTitle, m_FileChooserParameters, m_Owner, m_Worker
-
Fields inherited from class adams.gui.core.DetachablePanel
DETACH_ICON, m_ButtonReattach, m_ContentPanel, m_DetachedFrame, m_DetachListeners, m_FrameTitle, m_LastFramePosition, m_LastFrameSize, m_PanelReattach, m_PopupMenuCustomizer, m_ReattachListeners, REATTACH_ICON
-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description CompareTab()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
clear()
Clears the content.protected void
compareData()
Compares the dataprotected void
compareIDs()
Compares the IDs.protected void
compareInstances()
Performs the comparison between the rows from the two datasets.protected void
compareStructure()
Compares the structure.protected JPanel
createIDInfoPanel(BaseTextArea textArea)
Generates an info panel for an ID text area.void
dataChanged(WekaInvestigatorDataEvent e)
Notifies the tab that the data changed.protected void
doDeserialize(Map<String,Object> data, MessageCollection errors)
Restores the objects.protected Map<String,Object>
doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.protected void
finishInit()
Finishes up the initialization.protected List<String>
getIDs(weka.core.Instances dataset, int index)
Retrieves the IDs from the dataset.protected Instance
getInstance(weka.core.Instances dataset, int index, String id, gnu.trove.list.TIntList attributes)
Returns the instance from the dataset with the specified ID.protected weka.core.Instances
getStructure(weka.core.Instances data, String rangeStr, gnu.trove.list.TIntList indices)
Returns the dataset structure.String
getTabIcon()
Returns the icon name for the tab icon.String
getTitle()
Returns the title of this table.protected void
initGUI()
Initializes the widgets.protected void
initialize()
Initializes the members.protected void
updateWidgets()
Updates the state of the widgets.-
Methods inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
canStartExecution, createPopupMenu, deserialize, executionFinished, fireDataChange, getActualTitle, getData, getFileChooserParameters, getOwner, isBusy, loadParameters, logError, logError, logMessage, postExecutionFinished, postStartExecution, postStopExecution, saveParameters, serialize, setActualTitle, setOwner, showStatus, startExecution, stopExecution, toParamsArray
-
Methods inherited from class adams.gui.core.DetachablePanel
addDetachListener, addReattachListener, cleanUp, clearDetachListeners, clearReattachListeners, detach, getContentPanel, getFrameTitle, getPopupMenu, getPopupMenuCustomizer, isDetached, notifyDetachListeners, notifyReattachListeners, reattach, removeDetachListener, removeReattachListener, setFrameTitle, setPopupMenuCustomizer
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, getBaseline, getBaselineResizeBehavior, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.CleanUpHandler
cleanUp
-
-
-
-
Field Detail
-
KEY_FIRST_DATASET
public static final String KEY_FIRST_DATASET
- See Also:
- Constant Field Values
-
KEY_SECOND_DATASET
public static final String KEY_SECOND_DATASET
- See Also:
- Constant Field Values
-
KEY_FIRST_ATTRANGE
public static final String KEY_FIRST_ATTRANGE
- See Also:
- Constant Field Values
-
KEY_SECOND_ATTRANGE
public static final String KEY_SECOND_ATTRANGE
- See Also:
- Constant Field Values
-
m_ComboBoxFirstDataset
protected BaseComboBox<String> m_ComboBoxFirstDataset
the first dataset.
-
m_ModelFirstDataset
protected DefaultComboBoxModel<String> m_ModelFirstDataset
the first dataset model.
-
m_ComboBoxSecondDataset
protected BaseComboBox<String> m_ComboBoxSecondDataset
the second dataset.
-
m_ModelSecondDataset
protected DefaultComboBoxModel<String> m_ModelSecondDataset
the second dataset model.
-
m_PanelDatasets
protected JPanel m_PanelDatasets
the panel for the datasets.
-
m_TextFirstRange
protected BaseTextField m_TextFirstRange
the text field for the first attribute range.
-
m_TextSecondRange
protected BaseTextField m_TextSecondRange
the text field for the second attribute range.
-
m_PanelStructure
protected JPanel m_PanelStructure
the panel for the structure.
-
m_ButtonStructure
protected BaseButton m_ButtonStructure
the button for comparing the structure.
-
m_PanelComparison
protected JPanel m_PanelComparison
the overall panel for comparison.
-
m_TextStructure
protected BaseTextArea m_TextStructure
the text area with the structure output.
-
m_PanelData
protected JPanel m_PanelData
the panel for the data.
-
m_ComboBoxFirstID
protected BaseComboBox<String> m_ComboBoxFirstID
the ID attribute in the first dataset to use for comparing the data.
-
m_ModelFirstID
protected DefaultComboBoxModel<String> m_ModelFirstID
the first ID attribute model.
-
m_ComboBoxSecondID
protected BaseComboBox<String> m_ComboBoxSecondID
the ID attribute in the second dataset to use for comparing the data.
-
m_ModelSecondID
protected DefaultComboBoxModel<String> m_ModelSecondID
the second ID attribute model.
-
m_ButtonData
protected BaseButton m_ButtonData
the button for comparing the data.
-
m_TabbedPaneData
protected BaseTabbedPane m_TabbedPaneData
the tabbed pane for the data.
-
m_TextOnlyFirst
protected BaseTextArea m_TextOnlyFirst
the IDs only present in the first dataset.
-
m_TextCommon
protected BaseTextArea m_TextCommon
the IDs present in both datasets.
-
m_TextOnlySecond
protected BaseTextArea m_TextOnlySecond
the IDs only present in the second dataset.
-
m_ModelCommonIDs
protected DefaultListModel<String> m_ModelCommonIDs
the model with the common IDs.
-
m_ListCommonIDs
protected BaseList m_ListCommonIDs
the JList with the common IDs.
-
m_PanelBoth
protected InstancePanel m_PanelBoth
the panel for displaying the two instances.
-
m_PanelDifference
protected InstancePanel m_PanelDifference
the panel with the difference.
-
m_ReportTable
protected ReportFactory.Table m_ReportTable
the table with the report.
-
m_FirstData
protected weka.core.Instances m_FirstData
the first dataset.
-
m_FirstAttributes
protected gnu.trove.list.TIntList m_FirstAttributes
the first set of attributes.
-
m_SecondData
protected weka.core.Instances m_SecondData
the second dataset.
-
m_SecondAttributes
protected gnu.trove.list.TIntList m_SecondAttributes
the second set of attributes.
-
m_FileChooserIDs
protected TextFileChooser m_FileChooserIDs
the file saver for storing the IDs.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractInvestigatorTab
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUI
in classDetachablePanel
-
createIDInfoPanel
protected JPanel createIDInfoPanel(BaseTextArea textArea)
Generates an info panel for an ID text area.- Parameters:
textArea
- the area for which to generate the panel- Returns:
- the generated panel
-
finishInit
protected void finishInit()
Finishes up the initialization.- Overrides:
finishInit
in classBasePanel
-
getTitle
public String getTitle()
Returns the title of this table.- Specified by:
getTitle
in classAbstractInvestigatorTab
- Returns:
- the title
-
getTabIcon
public String getTabIcon()
Returns the icon name for the tab icon.- Overrides:
getTabIcon
in classAbstractInvestigatorTab
- Returns:
- the icon name, null if not available
-
getStructure
protected weka.core.Instances getStructure(weka.core.Instances data, String rangeStr, gnu.trove.list.TIntList indices)
Returns the dataset structure.- Parameters:
data
- the datasetrangeStr
- the range string- Returns:
- the structure
-
compareStructure
protected void compareStructure()
Compares the structure.
-
getIDs
protected List<String> getIDs(weka.core.Instances dataset, int index)
Retrieves the IDs from the dataset.- Parameters:
dataset
- the dataset to useindex
- the attribute index- Returns:
- the generated list
-
getInstance
protected Instance getInstance(weka.core.Instances dataset, int index, String id, gnu.trove.list.TIntList attributes)
Returns the instance from the dataset with the specified ID.- Parameters:
dataset
- the dataset to get the instance fromindex
- the ID attribute indexid
- the IDattributes
- the attribute indices to use- Returns:
- the instance, null if not found
-
compareInstances
protected void compareInstances()
Performs the comparison between the rows from the two datasets.
-
compareIDs
protected void compareIDs()
Compares the IDs.
-
compareData
protected void compareData()
Compares the data
-
dataChanged
public void dataChanged(WekaInvestigatorDataEvent e)
Notifies the tab that the data changed.- Specified by:
dataChanged
in interfaceWekaInvestigatorDataListener
- Specified by:
dataChanged
in classAbstractInvestigatorTab
- Parameters:
e
- the event
-
clear
protected void clear()
Clears the content.
-
updateWidgets
protected void updateWidgets()
Updates the state of the widgets.
-
doSerialize
protected Map<String,Object> doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.- Overrides:
doSerialize
in classAbstractInvestigatorTab
- Parameters:
options
- what to serialize- Returns:
- the mapping of the objects to serialize
-
doDeserialize
protected void doDeserialize(Map<String,Object> data, MessageCollection errors)
Restores the objects.- Overrides:
doDeserialize
in classAbstractInvestigatorTab
- Parameters:
data
- the data to restoreerrors
- for storing errors
-
-