com.sshtools.common.ui
Class SessionProviderFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by com.sshtools.common.ui.SshToolsApplicationFrame
                          extended by com.sshtools.common.ui.SessionProviderFrame
All Implemented Interfaces:
SessionManager, SshToolsApplicationContainer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class SessionProviderFrame
extends SshToolsApplicationFrame
implements SessionManager

This frame class embeds a SessionProvider and manages the connection on behalf of the caller. To invoke a session provider from an external application is a straight forward procedure. Assuming that the connection has already been established [see SshClient] you can invoke a frame using the following code:

 // Create an SshClient connection
 SshClient ssh = new SshClient();

 // Connection code goes here - see SshClient for more details

 SessionProviderFrame frame = new SessionProviderFrame(null,
                            new SshToolsConnectionProfile(),
                                                        ssh,
          SessionProviderFactory.getInstance().getProvider("sshterm"));
 frame.pack();
 frame.show();
 

Version:
$Id: SessionProviderFrame.java,v 1.9 2003/11/16 19:30:08 rpernavas Exp $
Author:
Lee David Painter
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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
 
Fields inherited from class com.sshtools.common.ui.SshToolsApplicationFrame
aboutAction, exitAction, log, newWindowAction, PREF_LAST_FRAME_GEOMETRY, toolSeparator
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SessionProviderFrame(SshToolsConnectionProfile profile, SshClient ssh, SessionProvider provider)
          Construct a new Session Provider frame.
 
Method Summary
 void addEventHandler(SshEventAdapter eventHandler)
          Implementation of the SessionManager method, simply calls the SshClient method addEventHandler.
 void allowChannelOpen(java.lang.String channelType, ChannelFactory cf)
          Implemenation of the SessionManager method, simply calls the SshClient method allowChannelOpen.
 void applyProfileChanges(SshToolsConnectionProfile profile)
          Implementation of the SessionManager method, this does nothing.
 boolean canExit()
          Called by the application framework when testing exit state
 void exit()
          Called by the framework when exiting.
 ForwardingClient getForwardingClient()
          Implementation of the SessionManager method, simply calls the SshClient method getForwardingClient.
 SshToolsConnectionProfile getProfile()
          Gets the profile currently attached to the frame.
 int getRemoteEOL()
          Returns the guessed EOL setting of the remote computer
 java.lang.String getServerId()
          Implemenation of the SessionManager method, simply calls the SshClient method getServerId.
 SshToolsApplicationSessionPanel getSessionPanel()
          Get the attached session provider panel.
 boolean initFrame(SshToolsApplication app)
          Initialize the frame and open the remote session
 boolean isConnected()
          Implementation of the SessionManager method, this simply calls the SshClient method isConnected.
 boolean openChannel(Channel channel)
          Implementation of the SessionManager method, this simply calls the SshClient method openChannel.
 SessionChannelClient openSession()
          Implementation of the SessionManager method, simply calls the SshClient openSession method.
 SftpClient openSftpClient()
          Implementation of the SessionManager method, this simply calls the SshClient method openSftpClient.
 boolean requestDisconnect()
          Implementation of the SessionManager method, this simply returns false.
 byte[] sendGlobalRequest(java.lang.String requestname, boolean wantreply, byte[] requestdata)
          Implementation of the SessionManager method, simply calls the SshClient method sendGlobalRequest.
 void setDisconnectOnClose(boolean disconnectOnClose)
          When the session closes, should the connection be disconnected?
 
Methods inherited from class com.sshtools.common.ui.SshToolsApplicationFrame
closeContainer, getApplication, getApplicationPanel, init, isContainerVisible, setContainerTitle, setContainerVisible, showAboutBox, showExitAction, showNewWindowAction
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

SessionProviderFrame

public SessionProviderFrame(SshToolsConnectionProfile profile,
                            SshClient ssh,
                            SessionProvider provider)
                     throws java.io.IOException,
                            SshToolsApplicationException
Construct a new Session Provider frame.

Parameters:
app - The SshToolsApplication instance, can be null
profile - The profile of the connection
ssh - the client connection
provider - the provider instance
Throws:
java.io.IOException
SshToolsApplicationException
Method Detail

initFrame

public boolean initFrame(SshToolsApplication app)
                  throws java.io.IOException,
                         SshToolsApplicationException
Initialize the frame and open the remote session

Parameters:
app - the application object, can be null
Returns:
Throws:
java.io.IOException
SshToolsApplicationException

getSessionPanel

public SshToolsApplicationSessionPanel getSessionPanel()
Get the attached session provider panel.

Returns:

getRemoteEOL

public int getRemoteEOL()
Returns the guessed EOL setting of the remote computer

Specified by:
getRemoteEOL in interface SessionManager
Returns:

canExit

public boolean canExit()
Called by the application framework when testing exit state

Returns:

exit

public void exit()
Called by the framework when exiting. Can also be called to close the session.


openSession

public SessionChannelClient openSession()
                                 throws java.io.IOException
Implementation of the SessionManager method, simply calls the SshClient openSession method.

Specified by:
openSession in interface SessionManager
Returns:
Throws:
java.io.IOException

applyProfileChanges

public void applyProfileChanges(SshToolsConnectionProfile profile)
Implementation of the SessionManager method, this does nothing. Overide this method to provide additional functionality to save changes made by the session to the profile.

Specified by:
applyProfileChanges in interface SessionManager
Parameters:
profile -

setDisconnectOnClose

public void setDisconnectOnClose(boolean disconnectOnClose)
When the session closes, should the connection be disconnected?

Parameters:
disconnectOnClose -

openSftpClient

public SftpClient openSftpClient()
                          throws java.io.IOException
Implementation of the SessionManager method, this simply calls the SshClient method openSftpClient.

Specified by:
openSftpClient in interface SessionManager
Returns:
Throws:
java.io.IOException

openChannel

public boolean openChannel(Channel channel)
                    throws java.io.IOException
Implementation of the SessionManager method, this simply calls the SshClient method openChannel.

Specified by:
openChannel in interface SessionManager
Parameters:
channel -
Returns:
Throws:
java.io.IOException

isConnected

public boolean isConnected()
Implementation of the SessionManager method, this simply calls the SshClient method isConnected.

Specified by:
isConnected in interface SessionManager
Returns:

requestDisconnect

public boolean requestDisconnect()
Implementation of the SessionManager method, this simply returns false. Overide to change this behaviour

Specified by:
requestDisconnect in interface SessionManager
Returns:

getForwardingClient

public ForwardingClient getForwardingClient()
Implementation of the SessionManager method, simply calls the SshClient method getForwardingClient.

Specified by:
getForwardingClient in interface SessionManager
Returns:

sendGlobalRequest

public byte[] sendGlobalRequest(java.lang.String requestname,
                                boolean wantreply,
                                byte[] requestdata)
                         throws java.io.IOException
Implementation of the SessionManager method, simply calls the SshClient method sendGlobalRequest.

Specified by:
sendGlobalRequest in interface SessionManager
Parameters:
requestname -
wantreply -
requestdata -
Returns:
Throws:
java.io.IOException

addEventHandler

public void addEventHandler(SshEventAdapter eventHandler)
Implementation of the SessionManager method, simply calls the SshClient method addEventHandler.

Specified by:
addEventHandler in interface SessionManager
Parameters:
eventHandler -

getServerId

public java.lang.String getServerId()
Implemenation of the SessionManager method, simply calls the SshClient method getServerId.

Specified by:
getServerId in interface SessionManager
Returns:

allowChannelOpen

public void allowChannelOpen(java.lang.String channelType,
                             ChannelFactory cf)
                      throws java.io.IOException
Implemenation of the SessionManager method, simply calls the SshClient method allowChannelOpen.

Specified by:
allowChannelOpen in interface SessionManager
Parameters:
channelType -
cf -
Throws:
java.io.IOException

getProfile

public SshToolsConnectionProfile getProfile()
Gets the profile currently attached to the frame.

Specified by:
getProfile in interface SessionManager
Returns:


Copyright © 2002-2003 Lee David Painter & Contributors. All Rights Reserved.