com.sshtools.common.ui
Class SessionProviderInternalFrame

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 com.sshtools.common.ui.SshToolsApplicationInternalFrame
                      extended by com.sshtools.common.ui.SessionProviderInternalFrame
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 SessionProviderInternalFrame
extends SshToolsApplicationInternalFrame
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: SessionProviderInternalFrame.java,v 1.3 2003/09/24 11:26:32 martianx Exp $
Author:
Lee David Painter
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
 
Fields inherited from class com.sshtools.common.ui.SshToolsApplicationInternalFrame
aboutAction, exitAction, log, newWindowAction, PREF_LAST_FRAME_GEOMETRY, toolSeparator
 
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
SessionProviderInternalFrame(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.SshToolsApplicationInternalFrame
closeContainer, getApplication, getApplicationPanel, init, isContainerVisible, setContainerTitle, setContainerVisible, showAboutBox, showExitAction, showNewWindowAction
 
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, setTitle, setUI, show, toBack, toFront, updateUI
 
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
 

Constructor Detail

SessionProviderInternalFrame

public SessionProviderInternalFrame(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:

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

getRemoteEOL

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

Specified by:
getRemoteEOL in interface SessionManager
Returns:

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 -

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:

setDisconnectOnClose

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

Parameters:
disconnectOnClose -

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.