Package weka.gui.beans
Class KnowledgeFlowApp
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.beans.KnowledgeFlowApp
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
,Accessible
,BeanCustomizer.ModifyListener
public class KnowledgeFlowApp
extends JPanel
implements PropertyChangeListener, BeanCustomizer.ModifyListener
Main GUI class for the KnowledgeFlow. Modifications to allow interoperability
with swt provided by Davide Zerbetto (davide dot zerbetto at eng dot it).
- Since:
- 1.0
- Version:
- $Revision: 15104 $
- Author:
- Mark Hall
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Interface for perspectives.class
Main Knowledge Flow perspectiveNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
the extension for the serialized setups (Java serialization)static final String
the extension for the serialized setups (Java serialization)static Vector<StartUpListener>
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
ConstructorDescriptionKnowledgeFlowApp
(boolean showFileMenu) Creates a newKnowledgeFlowApp
instance. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
Add a listener to be notified when startup is completestatic void
addToPluginBeanProps
(File beanPropsFile) Add a plugin bean props filevoid
void
copyToBuffer
(Vector<Object> selectedBeans) Utility routine that serializes the supplied Vector of BeanInstances to XMLstatic void
createSingleton
(String[] args) Create the singleton instance of the KnowledgeFlowstatic void
boolean
getFlow()
Gets the current flow being edited.Returns the current flow being edited in XML format.static String
getGlobalInfo
(Object tempBean) Utility method for grabbing the global info help (if it exists) from an arbitrary objectGets the main knowledge flow perspectiveGet the contents of the paste bufferstatic KnowledgeFlowApp
Return the singleton instance of the KnowledgeFlowvoid
loadLayout
(File oFile, boolean newTab) Load a layout from a file.void
loadLayout
(InputStream is, boolean newTab, String flowName) Load a flow file from an input stream.void
loadLayout
(Reader reader, boolean newTab, String flowName) Load a flow file from a reader.static void
Loads KnowledgeFlow properties and any plugins (adds jars to the classpath)static void
Main method.void
Accept property change eventsstatic void
static void
removeFromPluginBeanProps
(File beanPropsFile) Remove a plugin bean props filevoid
saveLayout
(File toFile, int tabIndex) void
saveLayout
(OutputStream out, int tabIndex) Save the knowledge flow into the OutputStream passed at input.void
setAllowMultipleTabs
(boolean multiple) void
Set the environment variables to use.void
Set the flow for the KnowledgeFlow to edit.void
setModifiedStatus
(Object source, boolean modified) Tells us about the modified status of a particular object - typically a customizer that is editing a flow component.void
Set the contents of the "paste" buffer and enable the paste from cliboard toolbar buttonMethods 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, hide, 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, 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, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, 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
-
Field Details
-
FILE_EXTENSION
the extension for the serialized setups (Java serialization)- See Also:
-
FILE_EXTENSION_XML
the extension for the serialized setups (Java serialization)- See Also:
-
s_startupListeners
-
-
Constructor Details
-
KnowledgeFlowApp
public KnowledgeFlowApp(boolean showFileMenu) Creates a newKnowledgeFlowApp
instance.
-
-
Method Details
-
addToPluginBeanProps
Add a plugin bean props file- Parameters:
beanPropsFile
- the plugin properties to add- Throws:
Exception
- if a problem occurs
-
removeFromPluginBeanProps
Remove a plugin bean props file- Parameters:
beanPropsFile
- the plugin properties to remove- Throws:
Exception
- if a problem occurs
-
loadProperties
public static void loadProperties()Loads KnowledgeFlow properties and any plugins (adds jars to the classpath) -
reInitialize
public static void reInitialize() -
setEnvironment
Set the environment variables to use. NOTE: loading a new layout resets back to the default set of variables- Parameters:
env
-
-
getMainPerspective
Gets the main knowledge flow perspective- Returns:
- the main knowledge flow perspective
-
closeAllTabs
public void closeAllTabs() -
clearLayout
public void clearLayout() -
setModifiedStatus
Tells us about the modified status of a particular object - typically a customizer that is editing a flow component. Allows us to set the modified flag for the current flow.- Specified by:
setModifiedStatus
in interfaceBeanCustomizer.ModifyListener
- Parameters:
source
- the source objectmodified
- true if the source object has been modified
-
setPasteBuffer
Set the contents of the "paste" buffer and enable the paste from cliboard toolbar button- Parameters:
b
- the buffer to use
-
getPasteBuffer
Get the contents of the paste buffer- Returns:
- the contents of the paste buffer
-
copyToBuffer
Utility routine that serializes the supplied Vector of BeanInstances to XML- Parameters:
selectedBeans
- the vector of BeanInstances to serialize- Returns:
- a StringBuffer containing the serialized vector
- Throws:
Exception
- if a problem occurs
-
propertyChange
Accept property change events- Specified by:
propertyChange
in interfacePropertyChangeListener
- Parameters:
e
- aPropertyChangeEvent
value
-
loadLayout
Load a layout from a file. Supports loading binary and XML serialized flow files- Parameters:
oFile
- the file to load fromnewTab
- true if the loaded layout should be displayed in a new tab
-
loadLayout
Load a flow file from an input stream. Only supports XML serialized flows.- Parameters:
is
- the input stream to laod fromnewTab
- whether to open a new tab in the UI for the flowflowName
- the name of the flow- Throws:
Exception
- if a problem occurs during de-serialization
-
loadLayout
Load a flow file from a reader. Only supports XML serialized flows.- Parameters:
reader
- the reader to load fromnewTab
- whether to open a new tab in the UI for the flowflowName
- the name of the flow- Throws:
Exception
- if a problem occurs during de-serialization
-
setFlow
Set the flow for the KnowledgeFlow to edit. Assumes that client has loaded a Vector of beans and a Vector of connections. the supplied beans and connections are deep-copied via serialization before being set in the layout. The beans get added to the flow at position 0.- Parameters:
v
- a Vector containing a Vector of beans and a Vector of connections- Throws:
Exception
- if something goes wrong
-
getFlow
Gets the current flow being edited. The flow is returned as a single Vector containing two other Vectors: the beans and the connections. These two vectors are deep-copied via serialization before being returned.- Returns:
- the current flow being edited
- Throws:
Exception
- if a problem occurs
-
getFlowXML
Returns the current flow being edited in XML format.- Returns:
- the current flow as an XML string
- Throws:
Exception
- if a problem occurs
-
saveLayout
-
saveLayout
Save the knowledge flow into the OutputStream passed at input. Only supports saving the layout data (no trained models) to XML.- Parameters:
out
- the output stream to save the layout in
-
getGlobalInfo
Utility method for grabbing the global info help (if it exists) from an arbitrary object- Parameters:
tempBean
- the object to grab global info from- Returns:
- the global help info or null if global info does not exist
-
createSingleton
Create the singleton instance of the KnowledgeFlow- Parameters:
args
- can contain a file argument for loading a flow layout (format: "file=[path to layout file]") Modified by Zerbetto: you can specify the path of a knowledge flow layout file at input
-
disposeSingleton
public static void disposeSingleton() -
getSingleton
Return the singleton instance of the KnowledgeFlow- Returns:
- the singleton instance
-
addStartupListener
Add a listener to be notified when startup is complete- Parameters:
s
- a listener to add
-
setAllowMultipleTabs
public void setAllowMultipleTabs(boolean multiple) -
getAllowMultipleTabs
public boolean getAllowMultipleTabs() -
main
Main method.- Parameters:
args
- aString[]
value
-