Package com.sshtools.common.ui
Class SessionProviderInternalFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JInternalFrame
-
- com.sshtools.common.ui.SshToolsApplicationInternalFrame
-
- 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
-
-
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
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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description SessionProviderInternalFrame(SshToolsConnectionProfile profile, SshClient ssh, SessionProvider provider)Construct a new Session Provider frame.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEventHandler(SshEventAdapter eventHandler)Implementation of the SessionManager method, simply calls the SshClient method addEventHandler.voidallowChannelOpen(java.lang.String channelType, ChannelFactory cf)Implemenation of the SessionManager method, simply calls the SshClient method allowChannelOpen.voidapplyProfileChanges(SshToolsConnectionProfile profile)Implementation of the SessionManager method, this does nothing.booleancanExit()Called by the application framework when testing exit statevoidexit()Called by the framework when exiting.ForwardingClientgetForwardingClient()Implementation of the SessionManager method, simply calls the SshClient method getForwardingClient.SshToolsConnectionProfilegetProfile()Gets the profile currently attached to the frame.intgetRemoteEOL()Returns the guessed EOL setting of the remote computerjava.lang.StringgetServerId()Implemenation of the SessionManager method, simply calls the SshClient method getServerId.SshToolsApplicationSessionPanelgetSessionPanel()Get the attached session provider panel.booleaninitFrame(SshToolsApplication app)Initialize the frame and open the remote sessionbooleanisConnected()Implementation of the SessionManager method, this simply calls the SshClient method isConnected.booleanopenChannel(Channel channel)Implementation of the SessionManager method, this simply calls the SshClient method openChannel.SessionChannelClientopenSession()Implementation of the SessionManager method, simply calls the SshClient openSession method.SftpClientopenSftpClient()Implementation of the SessionManager method, this simply calls the SshClient method openSftpClient.booleanrequestDisconnect()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.voidsetDisconnectOnClose(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, isPaintingOrigin, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
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 nullprofile- The profile of the connectionssh- the client connectionprovider- the provider instance- Throws:
java.io.IOExceptionSshToolsApplicationException
-
-
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.IOExceptionSshToolsApplicationException
-
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:
openSessionin interfaceSessionManager- Returns:
- Throws:
java.io.IOException
-
getRemoteEOL
public int getRemoteEOL()
Returns the guessed EOL setting of the remote computer- Specified by:
getRemoteEOLin interfaceSessionManager- 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:
applyProfileChangesin interfaceSessionManager- Parameters:
profile-
-
openSftpClient
public SftpClient openSftpClient() throws java.io.IOException
Implementation of the SessionManager method, this simply calls the SshClient method openSftpClient.- Specified by:
openSftpClientin interfaceSessionManager- 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:
openChannelin interfaceSessionManager- 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:
isConnectedin interfaceSessionManager- 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:
requestDisconnectin interfaceSessionManager- Returns:
-
getForwardingClient
public ForwardingClient getForwardingClient()
Implementation of the SessionManager method, simply calls the SshClient method getForwardingClient.- Specified by:
getForwardingClientin interfaceSessionManager- Returns:
-
sendGlobalRequest
public byte[] sendGlobalRequest(java.lang.String requestname, boolean wantreply, byte[] requestdata) throws java.io.IOExceptionImplementation of the SessionManager method, simply calls the SshClient method sendGlobalRequest.- Specified by:
sendGlobalRequestin interfaceSessionManager- 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:
addEventHandlerin interfaceSessionManager- Parameters:
eventHandler-
-
getServerId
public java.lang.String getServerId()
Implemenation of the SessionManager method, simply calls the SshClient method getServerId.- Specified by:
getServerIdin interfaceSessionManager- Returns:
-
allowChannelOpen
public void allowChannelOpen(java.lang.String channelType, ChannelFactory cf) throws java.io.IOExceptionImplemenation of the SessionManager method, simply calls the SshClient method allowChannelOpen.- Specified by:
allowChannelOpenin interfaceSessionManager- Parameters:
channelType-cf-- Throws:
java.io.IOException
-
getProfile
public SshToolsConnectionProfile getProfile()
Gets the profile currently attached to the frame.- Specified by:
getProfilein interfaceSessionManager- Returns:
-
-