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: 15103 $
- Author:
- Mark Hall
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceInterface for perspectives.classMain Knowledge Flow perspectiveNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringthe extension for the serialized setups (Java serialization)static final Stringthe 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_WINDOWFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionKnowledgeFlowApp(boolean showFileMenu) Creates a newKnowledgeFlowAppinstance. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidAdd a listener to be notified when startup is completestatic voidaddToPluginBeanProps(File beanPropsFile) Add a plugin bean props filevoidvoidcopyToBuffer(Vector<Object> selectedBeans) Utility routine that serializes the supplied Vector of BeanInstances to XMLstatic voidcreateSingleton(String[] args) Create the singleton instance of the KnowledgeFlowstatic voidbooleangetFlow()Gets the current flow being edited.Returns the current flow being edited in XML format.static StringgetGlobalInfo(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 KnowledgeFlowAppReturn the singleton instance of the KnowledgeFlowvoidloadLayout(File oFile, boolean newTab) Load a layout from a file.voidloadLayout(InputStream is, boolean newTab, String flowName) Load a flow file from an input stream.voidloadLayout(Reader reader, boolean newTab, String flowName) Load a flow file from a reader.static voidLoads KnowledgeFlow properties and any plugins (adds jars to the classpath)static voidMain method.voidAccept property change eventsstatic voidstatic voidremoveFromPluginBeanProps(File beanPropsFile) Remove a plugin bean props filevoidsaveLayout(File toFile, int tabIndex) voidsaveLayout(OutputStream out, int tabIndex) Save the knowledge flow into the OutputStream passed at input.voidsetAllowMultipleTabs(boolean multiple) voidSet the environment variables to use.voidSet the flow for the KnowledgeFlow to edit.voidsetModifiedStatus(Object source, boolean modified) Tells us about the modified status of a particular object - typically a customizer that is editing a flow component.voidSet the contents of the "paste" buffer and enable the paste from cliboard toolbar buttonMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUIMethods 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, updateMethods 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, validateMethods 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 newKnowledgeFlowAppinstance.
-
-
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:
setModifiedStatusin 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:
propertyChangein interfacePropertyChangeListener- Parameters:
e- aPropertyChangeEventvalue
-
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
-