Class Cockpit
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Panel
-
- java.applet.Applet
-
- javax.swing.JApplet
-
- org.jets3t.apps.cockpit.Cockpit
-
- All Implemented Interfaces:
ActionListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,ListSelectionListener
,RootPaneContainer
,org.apache.commons.httpclient.auth.CredentialsProvider
,HyperlinkActivatedListener
,S3ServiceEventListener
public class Cockpit extends JApplet implements S3ServiceEventListener, ActionListener, ListSelectionListener, HyperlinkActivatedListener, org.apache.commons.httpclient.auth.CredentialsProvider
Cockpit is a graphical Java application for viewing and managing the contents of an Amazon S3 account. For more information and help please see the Cockpit Guide.This is the Cockpit application class; it may be run as a stand-alone application or as an Applet.
- Author:
- jmurty
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior
-
-
Field Summary
Fields Modifier and Type Field Description static String
AMAZON_S3_PAGE
static String
APPLICATION_DESCRIPTION
static String
APPLICATION_TITLE
static String
JETS3T_COCKPIT_HELP_PAGE
static String
OS_NAME_MAC
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(ActionEvent event)
Event handler for this application, handles all menu items.void
followHyperlink(URL url, String target)
Follows hyperlinks clicked on by a user.org.apache.commons.httpclient.Credentials
getCredentials(org.apache.commons.httpclient.auth.AuthScheme authscheme, String host, int port, boolean proxy)
Implementation method for the CredentialsProvider interface.void
init()
Prepares application to run as a GUI by finding/creating a root owner JFrame, creating an un-authenticatedRestS3Service
and loading properties files.static void
main(String[] args)
Runs Cockpit as a stand-alone application.void
s3ServiceEventPerformed(CopyObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aCopyObjectsEvent
.void
s3ServiceEventPerformed(CreateBucketsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aCreateBucketsEvent
.void
s3ServiceEventPerformed(CreateObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aCreateObjectsEvent
.void
s3ServiceEventPerformed(DeleteObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aDeleteObjectsEvent
.void
s3ServiceEventPerformed(DeleteVersionedObjectsEvent event)
void
s3ServiceEventPerformed(DownloadObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aDownloadObjectsEvent
.void
s3ServiceEventPerformed(GetObjectHeadsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aGetObjectHeadsEvent
.void
s3ServiceEventPerformed(GetObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aGetObjectsEvent
.void
s3ServiceEventPerformed(ListObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aListObjectsEvent
.void
s3ServiceEventPerformed(LookupACLEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aLookupACLEvent
.void
s3ServiceEventPerformed(UpdateACLEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aUpdateACLEvent
.void
valueChanged(ListSelectionEvent e)
Handles list selection events for this application.-
Methods inherited from class javax.swing.JApplet
getAccessibleContext, getContentPane, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, remove, repaint, setContentPane, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setTransferHandler, update
-
Methods inherited from class java.applet.Applet
destroy, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, isValidateRoot, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
JETS3T_COCKPIT_HELP_PAGE
public static final String JETS3T_COCKPIT_HELP_PAGE
- See Also:
- Constant Field Values
-
AMAZON_S3_PAGE
public static final String AMAZON_S3_PAGE
- See Also:
- Constant Field Values
-
OS_NAME_MAC
public static final String OS_NAME_MAC
- See Also:
- Constant Field Values
-
APPLICATION_DESCRIPTION
public static final String APPLICATION_DESCRIPTION
- See Also:
- Constant Field Values
-
APPLICATION_TITLE
public static final String APPLICATION_TITLE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Cockpit
public Cockpit()
Constructor to run this application as an Applet.
-
Cockpit
public Cockpit(JFrame ownerFrame) throws S3ServiceException
Constructor to run this application in a stand-alone window.- Parameters:
ownerFrame
- the frame the application will be displayed in- Throws:
S3ServiceException
-
-
Method Detail
-
init
public void init()
Prepares application to run as a GUI by finding/creating a root owner JFrame, creating an un-authenticatedRestS3Service
and loading properties files.
-
actionPerformed
public void actionPerformed(ActionEvent event)
Event handler for this application, handles all menu items.- Specified by:
actionPerformed
in interfaceActionListener
-
valueChanged
public void valueChanged(ListSelectionEvent e)
Handles list selection events for this application.- Specified by:
valueChanged
in interfaceListSelectionListener
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(GetObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aGetObjectsEvent
.This never happens in this application as downloads are performed by
S3ServiceMulti.downloadObjects(S3Bucket, DownloadPackage[])
instead.- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(ListObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aListObjectsEvent
.This never happens in this application as it does not perform multi-threaded object listings.
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(DeleteVersionedObjectsEvent event)
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(CreateBucketsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aCreateBucketsEvent
.When a bucket is successfully created it is added to the listing of buckets.
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(LookupACLEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aLookupACLEvent
.The ACL details are retrieved for the currently selected objects in the gui, then the
AccessControlDialog
is displayed to allow the user to update the ACL settings for these objects.- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(UpdateACLEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aUpdateACLEvent
.This method merely updates the progress dialog as ACLs are updated.
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(DownloadObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aDownloadObjectsEvent
.This method merely updates the progress dialog as objects are downloaded.
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(CreateObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aCreateObjectsEvent
.This method merely updates the progress dialog as files are uploaded.
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(CopyObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aCopyObjectsEvent
.This method merely updates the progress dialog as objects are copied.
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(DeleteObjectsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aDeleteObjectsEvent
.This method merely updates the progress dialog as objects are deleted.
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(GetObjectHeadsEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aGetObjectHeadsEvent
.This method merely updates the progress dialog as object details (heads) are retrieved.
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
- Parameters:
event
-
-
followHyperlink
public void followHyperlink(URL url, String target)
Follows hyperlinks clicked on by a user. This is achieved differently depending on whether Cockpit is running as an applet or as a stand-alone application:- Application: Detects the default browser application for the user's system (using BareBonesBrowserLaunch) and opens the link as a new window in that browser
- Applet: Opens the link in the current browser using the applet's context
- Specified by:
followHyperlink
in interfaceHyperlinkActivatedListener
- Parameters:
url
- the url to opentarget
- the target pane to open the url in, eg "_blank". This may be null.
-
getCredentials
public org.apache.commons.httpclient.Credentials getCredentials(org.apache.commons.httpclient.auth.AuthScheme authscheme, String host, int port, boolean proxy) throws org.apache.commons.httpclient.auth.CredentialsNotAvailableException
Implementation method for the CredentialsProvider interface.Based on sample code: InteractiveAuthenticationExample
- Specified by:
getCredentials
in interfaceorg.apache.commons.httpclient.auth.CredentialsProvider
- Throws:
org.apache.commons.httpclient.auth.CredentialsNotAvailableException
-
-