Class CockpitLite
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Panel
-
- java.applet.Applet
-
- javax.swing.JApplet
-
- org.jets3t.apps.cockpitlite.CockpitLite
-
- All Implemented Interfaces:
ActionListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,ListSelectionListener
,RootPaneContainer
,org.apache.commons.httpclient.auth.CredentialsProvider
,HyperlinkActivatedListener
,S3ServiceEventListener
public class CockpitLite extends JApplet implements S3ServiceEventListener, ActionListener, ListSelectionListener, HyperlinkActivatedListener, org.apache.commons.httpclient.auth.CredentialsProvider
CockpitLite is a graphical Java application for viewing and managing the contents of an Amazon S3 account, where the S3 account is not owned by the application's user directly but is made available by a service provider. The service provider uses the Gatekeeper application to mediate the user's access to the S3 account, authorizing each of the user's interactions before it can be executed.This is the CockpitLite 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
APPLICATION_DESCRIPTION
static String
APPLICATION_TITLE
static int
HTTP_CONNECTION_TIMEOUT
static int
MAX_CONNECTION_RETRIES
static int
SOCKET_CONNECTION_TIMEOUT
-
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
-
-
Constructor Summary
Constructors Constructor Description CockpitLite()
Constructor to run this application as an Applet.CockpitLite(JFrame ownerFrame, Properties standAloneArgumentProperties)
Constructor to run this application in a stand-alone window.
-
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.static String
getAclDescription(AccessControlList acl)
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)
void
s3ServiceEventPerformed(CreateBucketsEvent event)
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
-
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
-
HTTP_CONNECTION_TIMEOUT
public static final int HTTP_CONNECTION_TIMEOUT
- See Also:
- Constant Field Values
-
SOCKET_CONNECTION_TIMEOUT
public static final int SOCKET_CONNECTION_TIMEOUT
- See Also:
- Constant Field Values
-
MAX_CONNECTION_RETRIES
public static final int MAX_CONNECTION_RETRIES
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CockpitLite
public CockpitLite()
Constructor to run this application as an Applet.
-
CockpitLite
public CockpitLite(JFrame ownerFrame, Properties standAloneArgumentProperties) 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(LookupACLEvent event)
This method is anS3ServiceEventListener
action method that is invoked when this application'sS3ServiceMulti
triggers aLookupACLEvent
.- 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(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
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(CreateBucketsEvent event)
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
-
s3ServiceEventPerformed
public void s3ServiceEventPerformed(CopyObjectsEvent event)
- Specified by:
s3ServiceEventPerformed
in interfaceS3ServiceEventListener
-
getAclDescription
public static String getAclDescription(AccessControlList acl)
-
-