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:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.beans.PropertyChangeListener,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,BeanCustomizer.ModifyListener
public class KnowledgeFlowApp extends javax.swing.JPanel implements java.beans.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:
JPanel,PropertyChangeListener, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceKnowledgeFlowApp.KFPerspectiveInterface for perspectives.classKnowledgeFlowApp.MainKFPerspectiveMain Knowledge Flow perspective
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringFILE_EXTENSIONthe extension for the serialized setups (Java serialization)static java.lang.StringFILE_EXTENSION_XMLthe extension for the serialized setups (Java serialization)static java.util.Vector<StartUpListener>s_startupListeners-
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description KnowledgeFlowApp(boolean showFileMenu)Creates a newKnowledgeFlowAppinstance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidaddStartupListener(StartUpListener s)Add a listener to be notified when startup is completestatic voidaddToPluginBeanProps(java.io.File beanPropsFile)Add a plugin bean props filevoidclearLayout()voidcloseAllTabs()java.lang.StringBuffercopyToBuffer(java.util.Vector<java.lang.Object> selectedBeans)Utility routine that serializes the supplied Vector of BeanInstances to XMLstatic voidcreateSingleton(java.lang.String[] args)Create the singleton instance of the KnowledgeFlowstatic voiddisposeSingleton()booleangetAllowMultipleTabs()java.util.Vector<java.util.Vector<?>>getFlow()Gets the current flow being edited.java.lang.StringgetFlowXML()Returns the current flow being edited in XML format.static java.lang.StringgetGlobalInfo(java.lang.Object tempBean)Utility method for grabbing the global info help (if it exists) from an arbitrary objectKnowledgeFlowApp.MainKFPerspectivegetMainPerspective()Gets the main knowledge flow perspectivejava.lang.StringBuffergetPasteBuffer()Get the contents of the paste bufferstatic KnowledgeFlowAppgetSingleton()Return the singleton instance of the KnowledgeFlowvoidloadLayout(java.io.File oFile, boolean newTab)Load a layout from a file.voidloadLayout(java.io.InputStream is, boolean newTab, java.lang.String flowName)Load a flow file from an input stream.voidloadLayout(java.io.Reader reader, boolean newTab, java.lang.String flowName)Load a flow file from a reader.static voidloadProperties()Loads KnowledgeFlow properties and any plugins (adds jars to the classpath)static voidmain(java.lang.String[] args)Main method.voidpropertyChange(java.beans.PropertyChangeEvent e)Accept property change eventsstatic voidreInitialize()static voidremoveFromPluginBeanProps(java.io.File beanPropsFile)Remove a plugin bean props filevoidsaveLayout(java.io.File toFile, int tabIndex)voidsaveLayout(java.io.OutputStream out, int tabIndex)Save the knowledge flow into the OutputStream passed at input.voidsetAllowMultipleTabs(boolean multiple)voidsetEnvironment(Environment env)Set the environment variables to use.voidsetFlow(java.util.Vector<java.util.Vector<?>> v)Set the flow for the KnowledgeFlow to edit.voidsetModifiedStatus(java.lang.Object source, boolean modified)Tells us about the modified status of a particular object - typically a customizer that is editing a flow component.voidsetPasteBuffer(java.lang.StringBuffer b)Set the contents of the "paste" buffer and enable the paste from cliboard toolbar button-
Methods 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 Detail
-
FILE_EXTENSION
public static final java.lang.String FILE_EXTENSION
the extension for the serialized setups (Java serialization)- See Also:
- Constant Field Values
-
FILE_EXTENSION_XML
public static final java.lang.String FILE_EXTENSION_XML
the extension for the serialized setups (Java serialization)- See Also:
- Constant Field Values
-
s_startupListeners
public static java.util.Vector<StartUpListener> s_startupListeners
-
-
Method Detail
-
addToPluginBeanProps
public static void addToPluginBeanProps(java.io.File beanPropsFile) throws java.lang.ExceptionAdd a plugin bean props file- Parameters:
beanPropsFile- the plugin properties to add- Throws:
java.lang.Exception- if a problem occurs
-
removeFromPluginBeanProps
public static void removeFromPluginBeanProps(java.io.File beanPropsFile) throws java.lang.ExceptionRemove a plugin bean props file- Parameters:
beanPropsFile- the plugin properties to remove- Throws:
java.lang.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
public void setEnvironment(Environment env)
Set the environment variables to use. NOTE: loading a new layout resets back to the default set of variables- Parameters:
env-
-
getMainPerspective
public KnowledgeFlowApp.MainKFPerspective getMainPerspective()
Gets the main knowledge flow perspective- Returns:
- the main knowledge flow perspective
-
closeAllTabs
public void closeAllTabs()
-
clearLayout
public void clearLayout()
-
setModifiedStatus
public void setModifiedStatus(java.lang.Object source, boolean modified)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
public void setPasteBuffer(java.lang.StringBuffer b)
Set the contents of the "paste" buffer and enable the paste from cliboard toolbar button- Parameters:
b- the buffer to use
-
getPasteBuffer
public java.lang.StringBuffer getPasteBuffer()
Get the contents of the paste buffer- Returns:
- the contents of the paste buffer
-
copyToBuffer
public java.lang.StringBuffer copyToBuffer(java.util.Vector<java.lang.Object> selectedBeans) throws java.lang.ExceptionUtility 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:
java.lang.Exception- if a problem occurs
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
Accept property change events- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener- Parameters:
e- aPropertyChangeEventvalue
-
loadLayout
public void loadLayout(java.io.File oFile, boolean newTab)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
public void loadLayout(java.io.InputStream is, boolean newTab, java.lang.String flowName) throws java.lang.ExceptionLoad 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:
java.lang.Exception- if a problem occurs during de-serialization
-
loadLayout
public void loadLayout(java.io.Reader reader, boolean newTab, java.lang.String flowName) throws java.lang.ExceptionLoad 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:
java.lang.Exception- if a problem occurs during de-serialization
-
setFlow
public void setFlow(java.util.Vector<java.util.Vector<?>> v) throws java.lang.ExceptionSet 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:
java.lang.Exception- if something goes wrong
-
getFlow
public java.util.Vector<java.util.Vector<?>> getFlow() throws java.lang.ExceptionGets 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:
java.lang.Exception- if a problem occurs
-
getFlowXML
public java.lang.String getFlowXML() throws java.lang.ExceptionReturns the current flow being edited in XML format.- Returns:
- the current flow as an XML string
- Throws:
java.lang.Exception- if a problem occurs
-
saveLayout
public void saveLayout(java.io.File toFile, int tabIndex)
-
saveLayout
public void saveLayout(java.io.OutputStream out, int tabIndex)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
public static java.lang.String getGlobalInfo(java.lang.Object tempBean)
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
public static void createSingleton(java.lang.String[] args)
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
public static KnowledgeFlowApp getSingleton()
Return the singleton instance of the KnowledgeFlow- Returns:
- the singleton instance
-
addStartupListener
public static void addStartupListener(StartUpListener s)
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
public static void main(java.lang.String[] args)
Main method.- Parameters:
args- aString[]value
-
-