wt.clients.content
Class DownloadFilesDialog

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Dialog
                  extended bywt.clients.content.DownloadFilesDialog
All Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, Serializable

public class DownloadFilesDialog
extends Dialog

DownloadFilesDialog is a Dialog which displays a list of files (ApplicationData items) and supports the selection and downloading of files in the list. The files to be displayed can either be explicitly specified or can be retrieved from a given ContentHolder object.

For example:

       DownloadFilesDialog download_dialog  = new DownloadFilesDialog( my_frame, true );
       download_dialog.setContentHolder( myContentHolder );
       download_dialog.useAllFiles( true );
       download_dialog.show();
  


Supported API:true

Extendable:false

See Also:
Serialized Form

Nested Class Summary
private  class DownloadFilesDialog.ActionThread
           
(package private)  class DownloadFilesDialog.DownloadContentThread
           
(package private)  class DownloadFilesDialog.SymAction
           
(package private)  class DownloadFilesDialog.SymKey
           
(package private)  class DownloadFilesDialog.SymWindow
           
 
Nested classes inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog
 
Nested classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
(package private)  Panel buttonPanel
           
private  boolean cancel
           
(package private)  Button cancelButton
           
private  ContentHolder contentHolder
           
private  ThreadGroup contextGroup
           
private  Object contextLock
           
private static boolean DEBUG
          Flag used to provide debugging messages.
(package private)  Label dialogLabel
           
private  Vector downloadListeners
           
(package private)  boolean fComponentsAdjusted
           
private static int FILE_NAME
           
(package private)  WTMultiList fileMultiList
           
private  Vector files
           
private static int FORMAT
           
(package private)  symantec.itools.awt.shape.HorizontalLine horizontalLine1
           
private static IconCache iconCache
           
protected static int INIT_FILE_CONTENT
           
private static int KEY
           
private  boolean markFiles
           
(package private)  Button okButton
           
private  Applet parentApplet
           
private static ResourceBundle resources
           
static String RESOURCES
          Defined constant which specifies the fully-qualified class name of the Resource Bundle containing label and error-message resources for localization.
private  Vector selectedFiles
           
private static int SIZE
           
private  boolean threadCompleted
           
private  Exception threadException
           
private  Object threadLock
           
private  boolean threadSuccessful
           
private  boolean useAllFiles
           
private  int waitingOnContext
           
 
Fields inherited from class java.awt.Dialog
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
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
DownloadFilesDialog(Frame parent, boolean modal)
          Constructor for DownloadFilesDialog.
DownloadFilesDialog(Frame parent, String title, boolean modal)
          Constructor for DownloadFilesDialog.
 
Method Summary
 void addDownloadListener(UploadDownloadListener listener)
          Adds an UploadDownloadListener to be notified when download events occur on this dialog.
 void addNotify()
           
(package private)  void cancelButton_Action(ActionEvent event)
           
(package private)  void cancelButton_KeyPress(KeyEvent event)
           
(package private)  void Dialog1_WindowClosing(WindowEvent event)
           
private  void dispatchRefresh(Object obj, int action)
           
private  void downloadWithUpdate(Vector files)
           
private  void enableActions(boolean enable)
           
private  ApplicationData findFile(String key)
           
 ContentHolder getContentHolder()
           
private  WTContext getContext()
           
private  String getFileSize(ApplicationData file)
           
private  String getIdentity(Object obj)
           
private  String getObjectKey(ApplicationData file)
           
 Applet getParentApplet()
          Method getParentApplet returns the Applet which is used to provide context to this dialog.
 Vector getSelectedFiles()
          Method getSelectedFiles returns the files that have been selected by the user.
private  Image getStandardIcon(ApplicationData content)
           
private  void initContentHolder()
           
private  void initFileContentList()
           
private  void initializeIconCache()
          initializeIconCache initializes a HashMap of icons associated with file formats.
private  void initMultiList()
           
private  void initResources()
           
 boolean isCanceled()
          Method isCanceled checks whether or not this dialog has been cancelled.
 boolean isMarkIntentToChange()
          Returns a boolean value indicating whether or not the intent-to-change flag should be set when files are downloaded.
private  void localize()
           
private  void notifyDownloadListeners(UploadDownloadEvent evt)
          Notify UploadDownloadListeners that a download event has occurred.
(package private)  void okButton_Action(ActionEvent event)
           
(package private)  void okButton_KeyPress(KeyEvent event)
           
protected  void processCancel()
           
protected  void processOkCommand()
           
 void refresh()
          Method refresh updates the display of this dialog.
 void removeDownloadListener(UploadDownloadListener listener)
          Removes an UploadDownloadListener from being notified of download events on this dialog.
 void setCancelButtonLabel(String label)
          Method setCancelButtonLabel uses the given String to set the label on the button that causes any selection to be cancelled and this dialog to be closed.
 void setContentHolder(ContentHolder content_holder)
          Method setContentHolder sets the ContentHolder object which is associated with the files displayed in this dialog.
private  void setContext(boolean context_on)
           
 void setDialogLabel(String label)
          Method setDialogLabel uses the given String to set the label displayed on this dialog.
 void setFileSet(Vector fileset)
          Method setFileSet sets the list of files to be displayed in this dialog.
 void setMarkIntentToChange(boolean mark_files)
          Sets whether or not the intent-to-change flag on the files should be set when the files are downloaded.
 void setOkButtonLabel(String label)
          Method setOkButtonLabel uses the given String to set the label on the button that causes the currently selected files to be selected.
 void setParentApplet(Applet parent_applet)
          Method setParentApplet sets the applet which is used to provide context for this dialog.
 void setVisible(boolean b)
          Shows or hides this dialog on screen depending on the given boolean value.
 void show()
          Deprecated. replaced with #setVisible
private  void showMessageDialog(String message)
           
 void useAllFiles(boolean use_files)
          Method useAllFiles specifies whether or not this dialog should use all of the files contained in a given ContentHolder.
 
Methods inherited from class java.awt.Dialog
dispose, getAccessibleContext, getTitle, hide, isModal, isResizable, isUndecorated, paramString, setModal, setResizable, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, isOpaque, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fComponentsAdjusted

boolean fComponentsAdjusted

dialogLabel

Label dialogLabel

fileMultiList

WTMultiList fileMultiList

horizontalLine1

symantec.itools.awt.shape.HorizontalLine horizontalLine1

buttonPanel

Panel buttonPanel

okButton

Button okButton

cancelButton

Button cancelButton

RESOURCES

public static String RESOURCES
Defined constant which specifies the fully-qualified class name of the Resource Bundle containing label and error-message resources for localization.


resources

private static ResourceBundle resources

INIT_FILE_CONTENT

protected static final int INIT_FILE_CONTENT
See Also:
Constant Field Values

DEBUG

private static boolean DEBUG
Flag used to provide debugging messages.


FILE_NAME

private static final int FILE_NAME
See Also:
Constant Field Values

FORMAT

private static final int FORMAT
See Also:
Constant Field Values

SIZE

private static final int SIZE
See Also:
Constant Field Values

KEY

private static final int KEY
See Also:
Constant Field Values

iconCache

private static IconCache iconCache

contentHolder

private ContentHolder contentHolder

parentApplet

private Applet parentApplet

selectedFiles

private Vector selectedFiles

files

private Vector files

markFiles

private boolean markFiles

useAllFiles

private boolean useAllFiles

cancel

private boolean cancel

contextGroup

private ThreadGroup contextGroup

threadLock

private Object threadLock

threadCompleted

private boolean threadCompleted

threadSuccessful

private boolean threadSuccessful

threadException

private Exception threadException

contextLock

private Object contextLock

waitingOnContext

private int waitingOnContext

downloadListeners

private Vector downloadListeners
Constructor Detail

DownloadFilesDialog

public DownloadFilesDialog(Frame parent,
                           boolean modal)
Constructor for DownloadFilesDialog.

Parameters:
parent - the owner of this dialog
modal - if true, this dialog blocks input to the parent window when shown
See Also:
Dialog

DownloadFilesDialog

public DownloadFilesDialog(Frame parent,
                           String title,
                           boolean modal)
Constructor for DownloadFilesDialog.

Parameters:
parent - the owner of this dialog
title - the title of this dialog
modal - if true, this dialog blocks input to the parent window when shown
See Also:
Dialog
Method Detail

localize

private void localize()

initMultiList

private void initMultiList()

initResources

private void initResources()

addNotify

public void addNotify()

show

public void show()
Deprecated. replaced with #setVisible

Displays this dialog on the screen.


setVisible

public void setVisible(boolean b)
Shows or hides this dialog on screen depending on the given boolean value. If the given boolean is true, this dialog is displayed. Otherwise, this dialog is hidden.

Parameters:
b - if true, this dialog is displayed.

Dialog1_WindowClosing

void Dialog1_WindowClosing(WindowEvent event)

initContentHolder

private void initContentHolder()

useAllFiles

public void useAllFiles(boolean use_files)
Method useAllFiles specifies whether or not this dialog should use all of the files contained in a given ContentHolder.

Parameters:
use_files - if true, this dialog will initialize the list of files displayed by retrieving all files contained in a given ContentHolder. If false, this dialog assumes the list of files will be explicitly provided via setFileSet
See Also:
setContentHolder(wt.content.ContentHolder), setFileSet(java.util.Vector), ContentHolder

getContentHolder

public ContentHolder getContentHolder()

setContentHolder

public void setContentHolder(ContentHolder content_holder)
Method setContentHolder sets the ContentHolder object which is associated with the files displayed in this dialog. Setting the ContentHolder is necessary if this dialog is set to display all of the files in the given ContentHolder.

Parameters:
content_holder - the ContentHolder associated with the displayed files
See Also:
useAllFiles, getContentHolder()

setFileSet

public void setFileSet(Vector fileset)
Method setFileSet sets the list of files to be displayed in this dialog.

Parameters:
fileset - the Vector of files (ApplicationData items) to be displayed in this dialog

setParentApplet

public void setParentApplet(Applet parent_applet)
Method setParentApplet sets the applet which is used to provide context for this dialog. The given applet is used in retrieving the appropriate WTContext object.

Parameters:
parent_applet - the Applet used to give context to this dialog.
See Also:
getParentApplet(), WTContext

getParentApplet

public Applet getParentApplet()
Method getParentApplet returns the Applet which is used to provide context to this dialog.

Returns:
the Applet which gives context to this dialog
See Also:
setParentApplet(java.applet.Applet), WTContext

setMarkIntentToChange

public void setMarkIntentToChange(boolean mark_files)
Sets whether or not the intent-to-change flag on the files should be set when the files are downloaded.

Parameters:
mark_files - if true, the intent-to-change flag will be set to true for any content files downloaded

isMarkIntentToChange

public boolean isMarkIntentToChange()
Returns a boolean value indicating whether or not the intent-to-change flag should be set when files are downloaded.

Returns:
if true, the intent-to-change flag will be set to true for any content files downloaded.

addDownloadListener

public void addDownloadListener(UploadDownloadListener listener)
Adds an UploadDownloadListener to be notified when download events occur on this dialog. When a download initiated by this dialog completes, an UploadDownloadEvent for the download will be broadcast to UploadDownloadListeners.

Parameters:
listener - the UploadDownloadListener to be notified of events
See Also:
removeDownloadListener(wt.clients.content.UploadDownloadListener)

removeDownloadListener

public void removeDownloadListener(UploadDownloadListener listener)
Removes an UploadDownloadListener from being notified of download events on this dialog.

Parameters:
listener - the UploadDownloadListener to be removed as a listener to UploadDownloadEvents
See Also:
addDownloadListener(wt.clients.content.UploadDownloadListener)

notifyDownloadListeners

private void notifyDownloadListeners(UploadDownloadEvent evt)
Notify UploadDownloadListeners that a download event has occurred.

Parameters:
evt - the UploadDownloadEvent of which listeners will be notified.

setOkButtonLabel

public void setOkButtonLabel(String label)
Method setOkButtonLabel uses the given String to set the label on the button that causes the currently selected files to be selected.

Parameters:
label - the String to use as the button label
See Also:
setCancelButtonLabel(java.lang.String)

setCancelButtonLabel

public void setCancelButtonLabel(String label)
Method setCancelButtonLabel uses the given String to set the label on the button that causes any selection to be cancelled and this dialog to be closed.

Parameters:
label - the String to use as the button label
See Also:
setOkButtonLabel(java.lang.String)

setDialogLabel

public void setDialogLabel(String label)
Method setDialogLabel uses the given String to set the label displayed on this dialog. The label is useful for providing context to the action to be taken on the selected files. Eg.
    DownloadFilesDialog select_dialog = new DownloadFilesDialog( my_frame, true );
    select_dialog.setDialogLabel( "Please Select the Files to be Deleted" );
    ...
  

Parameters:
label - the String to be used as the label of this dialog

isCanceled

public boolean isCanceled()
Method isCanceled checks whether or not this dialog has been cancelled. This dialog is considered to be cancelled if the user either closes this dialog via the "Cancel" button, or closes the dialog by clicking the "x" window control in the corner of this dialog.

Returns:
if true, this dialog has been cancelled, and no files have been selected

getContext

private WTContext getContext()

setContext

private void setContext(boolean context_on)

getSelectedFiles

public Vector getSelectedFiles()
Method getSelectedFiles returns the files that have been selected by the user.

Returns:
the Vector of selected files. If this dialog has been cancelled, the returned Vector will be null
See Also:
isCanceled()

initFileContentList

private void initFileContentList()

getObjectKey

private String getObjectKey(ApplicationData file)

cancelButton_Action

void cancelButton_Action(ActionEvent event)

processCancel

protected void processCancel()

okButton_Action

void okButton_Action(ActionEvent event)

processOkCommand

protected void processOkCommand()

findFile

private ApplicationData findFile(String key)

enableActions

private void enableActions(boolean enable)

showMessageDialog

private void showMessageDialog(String message)

refresh

public void refresh()
Method refresh updates the display of this dialog.


okButton_KeyPress

void okButton_KeyPress(KeyEvent event)

cancelButton_KeyPress

void cancelButton_KeyPress(KeyEvent event)

downloadWithUpdate

private void downloadWithUpdate(Vector files)
                         throws PropertyVetoException,
                                WTException,
                                InterruptedException
Throws:
PropertyVetoException
WTException
InterruptedException

dispatchRefresh

private void dispatchRefresh(Object obj,
                             int action)

getFileSize

private String getFileSize(ApplicationData file)

initializeIconCache

private void initializeIconCache()
initializeIconCache initializes a HashMap of icons associated with file formats. The HashMap is used for retrieving the icon associated with a particular ContentItem.

See Also:
HashMap

getStandardIcon

private Image getStandardIcon(ApplicationData content)

getIdentity

private String getIdentity(Object obj)