org.apache.excalibur.instrument.client
Class InstrumentSampleFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JInternalFrame
                  extended by org.apache.excalibur.instrument.client.AbstractInternalFrame
                      extended by org.apache.excalibur.instrument.client.InstrumentSampleFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.InternalFrameListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants, org.apache.avalon.framework.logger.LogEnabled

public class InstrumentSampleFrame
extends AbstractInternalFrame

Since:
4.1
Version:
CVS $Revision: 1.4 $ $Date: 2004/02/28 11:47:23 $
Author:
Avalon Development Team
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JInternalFrame
javax.swing.JInternalFrame.AccessibleJInternalFrame, javax.swing.JInternalFrame.JDesktopIcon
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String FRAME_TYPE
           
private  InstrumentManagerConnection m_connection
           
private  java.lang.String m_fullName
           
private static javax.swing.ImageIcon m_iconDisconnected
           
private static javax.swing.ImageIcon m_iconExpired
           
private static javax.swing.ImageIcon m_iconMissing
           
private  java.lang.String m_instrumentSampleName
           
private  long m_lastSnapshotTime
          The last time that a snapshot was received.
private  LineChart m_lineChart
          The LineChart currently visible in the Frame.
private  int[] m_samples
          A buffered set of sample values.
private  int m_state
           
private static int STATE_DISCONNECTED
           
private static int STATE_EXPIRED
           
private static int STATE_MISSING
           
private static int STATE_NONE
           
private static int STATE_SNAPSHOT
           
 
Fields inherited from class javax.swing.JInternalFrame
closable, CONTENT_PANE_PROPERTY, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTY
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, 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 javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
InstrumentSampleFrame(org.apache.avalon.framework.configuration.Configuration stateConfig, InstrumentManagerConnection connection, InstrumentClientFrame frame)
           
InstrumentSampleFrame(InstrumentManagerConnection connection, java.lang.String sampleName, InstrumentClientFrame frame)
           
 
Method Summary
 java.lang.String getInstrumentSampleName()
          Returns the name of the sample being displayed.
 long getLastSnapshotTime()
          The last time that a snapshot was received.
protected  void getState(org.apache.avalon.framework.configuration.DefaultConfiguration stateConfig)
          Allows subclasses to fill in configuration information.
(package private)  void hideFrame()
           
private  void initChart(InstrumentSampleSnapshotData snapshot)
          Initializes the chart
 void internalFrameClosed(javax.swing.event.InternalFrameEvent event)
           
private  void setStateDisconnected()
          Sets the state of the frame to show that the connection is closed.
private  void setStateSampleExpired()
          Sets the state of the frame to show that the sample could not be found.
private  void setStateSampleMissing()
          Sets the state of the frame to show that the sample could not be found.
private  void setStateSnapshot(InstrumentSampleSnapshotData snapshot)
           
(package private)  void update()
          Called to update the frame and request a new snapshot from the server.
private  void updateIcon()
          Update the icon that is displayed for the frame.
 void updateSnapshot(InstrumentSampleSnapshotData snapshot)
          Called to update the frame when a snapshot is already available.
private  void updateTitle()
          Sets the title of the frame and obtains a reference to the InstrumentSampleDescriptor in the process.
 
Methods inherited from class org.apache.excalibur.instrument.client.AbstractInternalFrame
addToDesktop, enableLogging, getFrame, getLogger, getState, internalFrameActivated, internalFrameClosing, internalFrameDeactivated, internalFrameDeiconified, internalFrameIconified, internalFrameOpened, setTitle, updateUI
 
Methods inherited from class javax.swing.JInternalFrame
addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setUI, show, toBack, toFront
 
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, 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, 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, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, 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, 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, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FRAME_TYPE

public static final java.lang.String FRAME_TYPE
See Also:
Constant Field Values

STATE_NONE

private static final int STATE_NONE
See Also:
Constant Field Values

STATE_DISCONNECTED

private static final int STATE_DISCONNECTED
See Also:
Constant Field Values

STATE_MISSING

private static final int STATE_MISSING
See Also:
Constant Field Values

STATE_SNAPSHOT

private static final int STATE_SNAPSHOT
See Also:
Constant Field Values

STATE_EXPIRED

private static final int STATE_EXPIRED
See Also:
Constant Field Values

m_iconDisconnected

private static final javax.swing.ImageIcon m_iconDisconnected

m_iconMissing

private static final javax.swing.ImageIcon m_iconMissing

m_iconExpired

private static final javax.swing.ImageIcon m_iconExpired

m_state

private int m_state

m_connection

private InstrumentManagerConnection m_connection

m_instrumentSampleName

private java.lang.String m_instrumentSampleName

m_fullName

private java.lang.String m_fullName

m_lastSnapshotTime

private long m_lastSnapshotTime
The last time that a snapshot was received. This is the time in the snapshot and is always in Server time. Not the time on this system.


m_samples

private int[] m_samples
A buffered set of sample values. May be null.


m_lineChart

private LineChart m_lineChart
The LineChart currently visible in the Frame. May be null.

Constructor Detail

InstrumentSampleFrame

InstrumentSampleFrame(org.apache.avalon.framework.configuration.Configuration stateConfig,
                      InstrumentManagerConnection connection,
                      InstrumentClientFrame frame)
                throws org.apache.avalon.framework.configuration.ConfigurationException
Throws:
org.apache.avalon.framework.configuration.ConfigurationException

InstrumentSampleFrame

InstrumentSampleFrame(InstrumentManagerConnection connection,
                      java.lang.String sampleName,
                      InstrumentClientFrame frame)
Method Detail

getState

protected void getState(org.apache.avalon.framework.configuration.DefaultConfiguration stateConfig)
Allows subclasses to fill in configuration information. At the least, they must set a type attribute.

Specified by:
getState in class AbstractInternalFrame

hideFrame

void hideFrame()
Overrides:
hideFrame in class AbstractInternalFrame

internalFrameClosed

public void internalFrameClosed(javax.swing.event.InternalFrameEvent event)
Specified by:
internalFrameClosed in interface javax.swing.event.InternalFrameListener
Overrides:
internalFrameClosed in class AbstractInternalFrame

getInstrumentSampleName

public java.lang.String getInstrumentSampleName()
Returns the name of the sample being displayed.

Returns:
The name of the sample being displayed.

getLastSnapshotTime

public long getLastSnapshotTime()
The last time that a snapshot was received. This is the time in the snapshot and is always in Server time. Not the time on this system.

Returns:
The last snapshot time.

updateIcon

private void updateIcon()
Update the icon that is displayed for the frame.


updateTitle

private void updateTitle()
Sets the title of the frame and obtains a reference to the InstrumentSampleDescriptor in the process. The title is made up of the descriptions of all the elements up to the sample in reverse order.

Only called when synchronized.


initChart

private void initChart(InstrumentSampleSnapshotData snapshot)
Initializes the chart

Parameters:
snapshot - InstrumentSampleSnapshotData to use to initialize the chart.

setStateSnapshot

private void setStateSnapshot(InstrumentSampleSnapshotData snapshot)

setStateDisconnected

private void setStateDisconnected()
Sets the state of the frame to show that the connection is closed.


setStateSampleMissing

private void setStateSampleMissing()
Sets the state of the frame to show that the sample could not be found.


setStateSampleExpired

private void setStateSampleExpired()
Sets the state of the frame to show that the sample could not be found.


updateSnapshot

public void updateSnapshot(InstrumentSampleSnapshotData snapshot)
Called to update the frame when a snapshot is already available.

Parameters:
snapshot - Snapshot to update the frame with. Null if unavailable.

update

void update()
Called to update the frame and request a new snapshot from the server.