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 StringKEY_FIRST_ATTRANGEstatic StringKEY_FIRST_DATASETstatic StringKEY_SECOND_ATTRANGEstatic StringKEY_SECOND_DATASETprotected BaseButtonm_ButtonDatathe button for comparing the data.protected BaseButtonm_ButtonStructurethe button for comparing the structure.protected BaseComboBox<String>m_ComboBoxFirstDatasetthe first dataset.protected BaseComboBox<String>m_ComboBoxFirstIDthe ID attribute in the first dataset to use for comparing the data.protected BaseComboBox<String>m_ComboBoxSecondDatasetthe second dataset.protected BaseComboBox<String>m_ComboBoxSecondIDthe ID attribute in the second dataset to use for comparing the data.protected TextFileChooserm_FileChooserIDsthe file saver for storing the IDs.protected gnu.trove.list.TIntListm_FirstAttributesthe first set of attributes.protected weka.core.Instancesm_FirstDatathe first dataset.protected BaseListm_ListCommonIDsthe JList with the common IDs.protected DefaultListModel<String>m_ModelCommonIDsthe model with the common IDs.protected DefaultComboBoxModel<String>m_ModelFirstDatasetthe first dataset model.protected DefaultComboBoxModel<String>m_ModelFirstIDthe first ID attribute model.protected DefaultComboBoxModel<String>m_ModelSecondDatasetthe second dataset model.protected DefaultComboBoxModel<String>m_ModelSecondIDthe second ID attribute model.protected InstancePanelm_PanelBoththe panel for displaying the two instances.protected JPanelm_PanelComparisonthe overall panel for comparison.protected JPanelm_PanelDatathe panel for the data.protected JPanelm_PanelDatasetsthe panel for the datasets.protected InstancePanelm_PanelDifferencethe panel with the difference.protected JPanelm_PanelStructurethe panel for the structure.protected ReportFactory.Tablem_ReportTablethe table with the report.protected gnu.trove.list.TIntListm_SecondAttributesthe second set of attributes.protected weka.core.Instancesm_SecondDatathe second dataset.protected BaseTabbedPanem_TabbedPaneDatathe tabbed pane for the data.protected BaseTextAream_TextCommonthe IDs present in both datasets.protected BaseTextFieldm_TextFirstRangethe text field for the first attribute range.protected BaseTextAream_TextOnlyFirstthe IDs only present in the first dataset.protected BaseTextAream_TextOnlySecondthe IDs only present in the second dataset.protected BaseTextFieldm_TextSecondRangethe text field for the second attribute range.protected BaseTextAream_TextStructurethe 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 voidclear()Clears the content.protected voidcompareData()Compares the dataprotected voidcompareIDs()Compares the IDs.protected voidcompareInstances()Performs the comparison between the rows from the two datasets.protected voidcompareStructure()Compares the structure.protected JPanelcreateIDInfoPanel(BaseTextArea textArea)Generates an info panel for an ID text area.voiddataChanged(WekaInvestigatorDataEvent e)Notifies the tab that the data changed.protected voiddoDeserialize(Map<String,Object> data, MessageCollection errors)Restores the objects.protected Map<String,Object>doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)Returns the objects for serialization.protected voidfinishInit()Finishes up the initialization.protected List<String>getIDs(weka.core.Instances dataset, int index)Retrieves the IDs from the dataset.protected InstancegetInstance(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.InstancesgetStructure(weka.core.Instances data, String rangeStr, gnu.trove.list.TIntList indices)Returns the dataset structure.StringgetTabIcon()Returns the icon name for the tab icon.StringgetTitle()Returns the title of this table.protected voidinitGUI()Initializes the widgets.protected voidinitialize()Initializes the members.protected voidupdateWidgets()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:
initializein classAbstractInvestigatorTab
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUIin 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:
finishInitin classBasePanel
-
getTitle
public String getTitle()
Returns the title of this table.- Specified by:
getTitlein classAbstractInvestigatorTab- Returns:
- the title
-
getTabIcon
public String getTabIcon()
Returns the icon name for the tab icon.- Overrides:
getTabIconin 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:
dataChangedin interfaceWekaInvestigatorDataListener- Specified by:
dataChangedin 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:
doSerializein 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:
doDeserializein classAbstractInvestigatorTab- Parameters:
data- the data to restoreerrors- for storing errors
-
-