Class PreprocessPanel

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, Explorer.CapabilitiesFilterChangeListener, Explorer.ExplorerPanel, Explorer.LogHandler, Perspective

@PerspectiveInfo(ID="weka.gui.explorer.preprocesspanel", title="Preprocess", toolTipText="Preprocess data", iconPath="weka/gui/weka_icon_new_small.png") public class PreprocessPanel extends AbstractPerspective implements Explorer.CapabilitiesFilterChangeListener, Explorer.ExplorerPanel, Explorer.LogHandler
This panel controls simple preprocessing of instances. Summary information on instances and attributes is shown. Filters may be configured to alter the set of instances. Altered instances may also be saved.
Version:
$Revision: 15682 $
Author:
Richard Kirkby (rkirkby@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • PreprocessPanel

      public PreprocessPanel()
      Creates the instances panel with no initial instances.
  • Method Details

    • acceptsInstances

      public boolean acceptsInstances()
      We can accept instances
      Specified by:
      acceptsInstances in interface Perspective
      Overrides:
      acceptsInstances in class AbstractPerspective
      Returns:
      true
    • instantiationComplete

      public void instantiationComplete()
      We've been instantiated and now have access to the main application and PerspectiveManager
      Specified by:
      instantiationComplete in interface Perspective
      Overrides:
      instantiationComplete in class AbstractPerspective
    • setLog

      public void setLog(Logger newLog)
      Sets the Logger to receive informational messages
      Specified by:
      setLog in interface Explorer.LogHandler
      Specified by:
      setLog in interface Perspective
      Overrides:
      setLog in class AbstractPerspective
      Parameters:
      newLog - the Logger that will now get info messages
    • requiresLog

      public boolean requiresLog()
      Description copied from class: AbstractPerspective
      Whether this perspective requires a graphical log to write to
      Specified by:
      requiresLog in interface Perspective
      Overrides:
      requiresLog in class AbstractPerspective
      Returns:
      true if a log is needed by this perspective
    • setInstances

      public void setInstances(Instances inst)
      Tells the panel to use a new base set of instances.
      Specified by:
      setInstances in interface Explorer.ExplorerPanel
      Specified by:
      setInstances in interface Perspective
      Overrides:
      setInstances in class AbstractPerspective
      Parameters:
      inst - a set of Instances
    • getInstances

      public Instances getInstances()
      Gets the working set of instances.
      Returns:
      the working instances
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener l)
      Adds a PropertyChangeListener who will be notified of value changes.
      Overrides:
      addPropertyChangeListener in class Container
      Parameters:
      l - a value of type 'PropertyChangeListener'
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener l)
      Removes a PropertyChangeListener.
      Overrides:
      removePropertyChangeListener in class Component
      Parameters:
      l - a value of type 'PropertyChangeListener'
    • saveWorkingInstancesToFileQ

      public void saveWorkingInstancesToFileQ()
      Queries the user for a file to save instances as, then saves the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.
    • saveInstancesToFile

      public void saveInstancesToFile(AbstractFileSaver saver, Instances inst)
      saves the data with the specified saver
      Parameters:
      saver - the saver to use for storing the data
      inst - the data to save
    • setInstancesFromFileQ

      public void setInstancesFromFileQ()
      Queries the user for a file to load instances from, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.
    • setInstancesFromDBQ

      public void setInstancesFromDBQ(String url, String user, String pw, String query)
      Loads (non-sparse) instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.
      Parameters:
      url - the database URL
      user - the user to connect as
      pw - the password of the user
      query - the query for retrieving instances from
    • setInstancesFromDBQ

      public void setInstancesFromDBQ(String url, String user, String pw, String query, boolean sparse)
      Loads instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.
      Parameters:
      url - the database URL
      user - the user to connect as
      pw - the password of the user
      query - the query for retrieving instances from
      sparse - whether to create sparse or non-sparse instances
    • setInstancesFromURLQ

      public void setInstancesFromURLQ()
      Queries the user for a URL to load instances from, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.
    • generateInstances

      public void generateInstances()
      sets Instances generated via DataGenerators (pops up a Dialog)
    • setInstancesFromFile

      public void setInstancesFromFile(AbstractFileLoader loader)
      Loads results from a set of instances retrieved with the supplied loader. This is started in the IO thread, and a dialog is popped up if there's a problem.
      Parameters:
      loader - the loader to use
    • setInstancesFromDB

      public void setInstancesFromDB(InstanceQuery iq)
      Loads instances from a database
      Parameters:
      iq - the InstanceQuery object to load from (this is assumed to have been already connected to a valid database).
    • setInstancesFromURL

      public void setInstancesFromURL(URL u)
      Loads instances from a URL.
      Parameters:
      u - the URL to load from.
    • addUndoPoint

      public void addUndoPoint() throws Exception
      Backs up the current state of the dataset, so the changes can be undone.
      Throws:
      Exception - if an error occurs
    • undo

      public void undo()
      Reverts to the last backed up version of the dataset.
    • edit

      public void edit()
      edits the current instances object in the viewer
    • setExplorer

      public void setExplorer(Explorer parent)
      Sets the Explorer to use as parent frame (used for sending notifications about changes in the data)
      Specified by:
      setExplorer in interface Explorer.ExplorerPanel
      Parameters:
      parent - the parent frame
    • getExplorer

      public Explorer getExplorer()
      returns the parent Explorer frame
      Specified by:
      getExplorer in interface Explorer.ExplorerPanel
      Returns:
      the parent
    • capabilitiesFilterChanged

      public void capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)
      method gets called in case of a change event
      Specified by:
      capabilitiesFilterChanged in interface Explorer.CapabilitiesFilterChangeListener
      Parameters:
      e - the associated change event
    • getTabTitle

      public String getTabTitle()
      Returns the title for the tab in the Explorer
      Specified by:
      getTabTitle in interface Explorer.ExplorerPanel
      Returns:
      the title of this tab
    • getTabTitleToolTip

      public String getTabTitleToolTip()
      Returns the tooltip for the tab in the Explorer
      Specified by:
      getTabTitleToolTip in interface Explorer.ExplorerPanel
      Returns:
      the tooltip of this tab
    • getDefaultSettings

      public Defaults getDefaultSettings()
      Description copied from class: AbstractPerspective
      Get the default settings for this perspective (or null if there are none)
      Specified by:
      getDefaultSettings in interface Perspective
      Overrides:
      getDefaultSettings in class AbstractPerspective
      Returns:
      the default settings for this perspective, or null if the perspective does not have any settings
    • setActive

      public void setActive(boolean active)
      Description copied from class: AbstractPerspective
      Set active status of this perspective. True indicates that this perspective is the visible active perspective in the application
      Specified by:
      setActive in interface Perspective
      Overrides:
      setActive in class AbstractPerspective
      Parameters:
      active - true if this perspective is the active one
    • settingsChanged

      public void settingsChanged()
      Description copied from class: AbstractPerspective
      Called when the user alters settings. The settings altered by the user are not necessarily ones related to this perspective
      Specified by:
      settingsChanged in interface Perspective
      Overrides:
      settingsChanged in class AbstractPerspective
    • getMenus

      public List<JMenu> getMenus()
      Description copied from class: AbstractPerspective
      Get an ordered list of menus to appear in the main menu bar. Return null for no menus
      Specified by:
      getMenus in interface Perspective
      Overrides:
      getMenus in class AbstractPerspective
      Returns:
      a list of menus to appear in the main menu bar or null for no menus
    • main

      public static void main(String[] args)
      Tests out the instance-preprocessing panel from the command line.
      Parameters:
      args - ignored