visad.cluster
Class TestSSCluster
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
visad.ss.BasicSSCell
visad.ss.FancySSCell
visad.cluster.TestSSCluster
- All Implemented Interfaces:
- ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, DisplayListener, MessageListener, SSCellListener
public class TestSSCluster
- extends FancySSCell
- implements ActionListener
TestSSCluster is the class for testing the visad.cluster package.
If you want to run the demo yourself, download the latest VisAD,
and also download the v5d file:
ftp://www.ssec.wisc.edu/pub/visad-2.0/QLQ.v5d
Then run the four commands:
java visad.cluster.TestSSCluster 1 QLQ.v5d
java visad.cluster.TestSSCluster 2 QLQ.v5d
java visad.cluster.TestSSCluster 3 QLQ.v5d
java visad.cluster.TestSSCluster 4 QLQ.v5d
These create the four cluster nodes. Wait for all four to print
both messages:
v5d_type = (Time -> (((row, col, Height) -> QL), ((row, col, Height) -> Q)))
data ready as (Time -> ((row, col, Height) -> (QL, Q)))
Then run a fifth command for the client:
java visad.cluster.TestSSCluster 0 QLQ.v5d
As soon as the window pops up, you can click the "Widgets" button
and when the widgets have initialized, slide the QL (cloud water)
slider over to any value between 0.5 and 1.0. When the "please
wait ..." message disappears in the 3-D window, click on the "Go"
button to animate. Change animation rate by entering a new number
of milliseonds per frame in the text box.
Click on any combination of the "Res 1", "Res 2", "Res 3" and
"Res 4" buttons to toggle between high and low resolution in each
quadrant. Its interesting to click "Res 1", "Res 2" and "Res 4"
but not "Res 3", which gives a sense of how this will be used
in practice: looking at data from all but one node at low
resolution. Of course, with a data set large enough for this to
be necessary, the low resolution will not look so blocky,
You can also click on the "Maps" button to get the SpreadSheet
user interface for setting display mappings. After you click
"Done", you'll need to click "Widgets" again to see the widgets
that correspond to your new mappings.
The display clearly shows the partition between quadrants. We
could get rid of these breaks, but at least for the demo its
nice to see where the spatial paritions are.
Note these five JVMs running on one machine will eat a lot of
memory and cycles.
- See Also:
- Serialized Form
Fields inherited from class visad.ss.FancySSCell |
AutoDetect, AutoShowControls, AutoSwitch, B_DIRECT, B_EMPTY, B_FORMULA, B_HIGHLIGHT, B_MULTI, B_REMOTE, B_RMI, B_UNKNOWN, B_URL, DARK_BLUE, DARK_CYAN, DARK_GREEN, DARK_PURPLE, DARK_RED, DARK_YELLOW, FileBox, Parent, Selected, WidgetFrame |
Fields inherited from class visad.ss.BasicSSCell |
ADD_DATA, ADD_SOURCE, CanDo3D, CellData, CollabID, DEBUG, DEBUG_LEVEL, defaultFM, Dim, DIRECT_SOURCE, DisplayEnabled, DListen, Errors, fm, FORMULA_SOURCE, HasDisplay, HasMappings, IsRemote, IsSlave, JAVA2D_2D, JAVA3D_2D, JAVA3D_3D, Loading, Lock, MAX_ID, MDisplay, messages, Name, NewClient, POLLING_INTERVAL, Possible3D, REMOTE_SOURCE, RemoteMDisplay, RemoteVDisplay, RemoteVServer, RemoteVSlave, REMOVE_DATA, RMI_SOURCE, Saving, Servers, SET_DIM, SET_ERRORS, SET_MAPS, SListen, SSCellVector, STATUS, UNKNOWN_SOURCE, UPDATE_DATA, UPDATE_DEPENDENCIES, URL_SOURCE, VDisplay, VDPanel |
Method Summary |
void |
actionPerformed(ActionEvent e)
|
protected String |
addData(int id,
Data data,
ConstantMap[] cmaps,
String source,
int type,
boolean notify)
override method from BasicSSCell |
protected SSCellData |
addReferenceImpl(int id,
DataReferenceImpl ref,
ConstantMap[] cmaps,
String source,
int type,
boolean notify,
boolean checkErrors)
override method from BasicSSCell |
boolean |
constructDisplay()
override method from BasicSSCell |
static void |
main(String[] args)
|
void |
setMaps(ScalarMap[] maps)
override method from BasicSSCell |
Methods inherited from class visad.ss.FancySSCell |
addMapDialog, autoDetectMappings, captureDialog, confirmClear, getAutoDetect, getAutoShowControls, getAutoSwitch, hasControls, hideWidgetFrame, loadDataDialog, loadDataRMI, loadDataSource, loadDataSource, loadDataString, loadDataURL, removeData, saveDataDialog, saveDataDialog, saveDataDialog, setAutoDetect, setAutoShowControls, setAutoSwitch, setBorderEnabled, setMapsAuto, setSelected, showWidgetFrame, smartClear, smartDestroy, ssCellChanged, waitForMaps |
Methods inherited from class visad.ss.BasicSSCell |
addData, addData, addDataSource, addDataSource, addDisplayListener, addReference, addReference, addSSCellChangeListener, addSSCellListener, addToRemoteServer, addVar, arraysEqual, canDo3D, captureImage, clearCell, clearDisplay, clearMaps, createVar, destroyCell, disable3D, displayChanged, enable3D, getCellDataByName, getData, getData, getDataCount, getDataRef, getDataSource, getDataSources, getDataSourceType, getDataSourceTypes, getDimension, getDisplay, getFilename, getFileURL, getFirstFreeId, getFirstVariableName, getFormula, getFormulaManager, getLastVariableName, getMaps, getName, getPartialSaveString, getReference, getReference, getReferences, getRemoteDataRef, getRemoteDisplay, getRemoteId, getRemoteReference, getRemoteReferences, getRMIAddress, getSaveString, getSSCellByName, getSSCellString, getVariableNames, hasData, hasDisplay, hasFormula, hasMappings, invoke, isRemote, isSaving, isSlave, loadData, loadData, loadRMI, makeLocal, othersDepend, othersDepend, possible3D, receiveMessage, removeAllListeners, removeAllReferences, removeAllReferences, removeAllReferences, removeAllSSCellListeners, removeData, removeDataImpl, removeDisplayListener, removeFromRemoteServer, removeListener, removeReference, removeSSCellListener, saveData, saveData, saveData, setData, setDimension, setDimension, setErrors, setFormula, setPartialSaveString, setSaveString, setSSCellString, setupClient, setupServer, stringsToTuple, tupleToStrings, waitForData, waitForData, waitForFormula |
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, setVisible, 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, transferFocusBackward, 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, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
TestSSCluster
public TestSSCluster(String name,
Frame parent)
throws VisADException,
RemoteException
- Throws:
VisADException
RemoteException
addData
protected String addData(int id,
Data data,
ConstantMap[] cmaps,
String source,
int type,
boolean notify)
throws VisADException,
RemoteException
- override method from BasicSSCell
- Overrides:
addData
in class BasicSSCell
- Returns:
- Variable name of the newly added data.
- Throws:
VisADException
RemoteException
addReferenceImpl
protected SSCellData addReferenceImpl(int id,
DataReferenceImpl ref,
ConstantMap[] cmaps,
String source,
int type,
boolean notify,
boolean checkErrors)
throws VisADException,
RemoteException
- override method from BasicSSCell
- Overrides:
addReferenceImpl
in class FancySSCell
- Returns:
- The newly created SSCellData object.
- Throws:
VisADException
RemoteException
setMaps
public void setMaps(ScalarMap[] maps)
throws VisADException,
RemoteException
- override method from BasicSSCell
- Overrides:
setMaps
in class FancySSCell
- Throws:
VisADException
RemoteException
constructDisplay
public boolean constructDisplay()
- override method from BasicSSCell
- Overrides:
constructDisplay
in class BasicSSCell
main
public static void main(String[] args)
throws RemoteException,
VisADException,
IOException
- Throws:
RemoteException
VisADException
IOException
actionPerformed
public void actionPerformed(ActionEvent e)
- Specified by:
actionPerformed
in interface ActionListener