com.miami.romeo.internet
Class Downloader

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bycom.miami.romeo.internet.Downloader
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class Downloader
extends javax.swing.JPanel

Downloader.
This class downloads files from the internet.

Version:
$Revision: 1.1.1.1 $Date: 2003/10/18 03:17:52 $
Author:
$author: Stefano Bolli
See Also:
Serialized Form

Nested Class Summary
 class Downloader.Download
          Action listener for 'Download' button
 class Downloader.Exit
          Exit Action
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  sun.net.ftp.FtpClient client
           
protected  java.util.GregorianCalendar currentTime
           
protected  java.lang.String hostFile
           
protected  java.lang.String localFile
           
static int ONE_SECOND
           
protected  java.util.GregorianCalendar startTime
           
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Downloader(java.lang.String server, java.lang.String destination, java.lang.String fileName)
          Constructor
 
Method Summary
 javax.swing.JFrame createFrame()
          This method creates a frame for Downloader to reside in.
 void defineProtocolToUse()
          This method defines the protocol (http or ftp) to use and download the file.
protected  void disconnect()
          This methods disconnects client from the ftp server.
 javax.swing.JFrame getFrame()
          This method returns the frame instance.
protected  void getFtpFile(java.lang.String ftpServer, int port, java.lang.String user, java.lang.String password, java.lang.String urlPath)
          This method downloads a file from a remote ftp server.
static int getFtpFileSize(sun.net.ftp.FtpClient client, java.lang.String fileName)
          This method returns the file size from the ftp server Probably not working.
protected  void getHttpFile()
          This method downloads a file from a remote server using http protocol.
static int getHttpFileSize(java.lang.String server, java.lang.String fileName)
          This method returns the file size from the http server.
 void initializeDownloader()
          This method initializes all graphic components.
protected  void message(javax.swing.JLabel label, java.lang.String str)
          Messages from the ftp server.
protected  void setProgressBarMaximum(int value)
          This method sets progress bar maximum value.
protected  void setProgressBarString(java.lang.String string)
          This method sets progress bar string.
protected  void setProgressBarValue(int value)
          This method sets progress bar value.
protected  void setTransferedKb(int value, int size)
          This method sets transfered kb string in a specific label.
 void showDownloader()
          This method shows Downloader window.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ONE_SECOND

public static final int ONE_SECOND
See Also:
Constant Field Values

currentTime

protected java.util.GregorianCalendar currentTime

startTime

protected java.util.GregorianCalendar startTime

client

protected sun.net.ftp.FtpClient client

localFile

protected java.lang.String localFile

hostFile

protected java.lang.String hostFile
Constructor Detail

Downloader

public Downloader(java.lang.String server,
                  java.lang.String destination,
                  java.lang.String fileName)
Constructor

Parameters:
server - The server address
destination - The path where to save files in
fileName - The file name to download
Method Detail

initializeDownloader

public void initializeDownloader()
This method initializes all graphic components.


showDownloader

public void showDownloader()
This method shows Downloader window.


getFrame

public javax.swing.JFrame getFrame()
This method returns the frame instance.

Returns:
JFrame

createFrame

public javax.swing.JFrame createFrame()
This method creates a frame for Downloader to reside in.


defineProtocolToUse

public void defineProtocolToUse()
This method defines the protocol (http or ftp) to use and download the file.


getHttpFile

protected void getHttpFile()
This method downloads a file from a remote server using http protocol.


getHttpFileSize

public static int getHttpFileSize(java.lang.String server,
                                  java.lang.String fileName)
                           throws java.io.IOException
This method returns the file size from the http server.

Parameters:
server - The http server
fileName - The file name
Returns:
The file size
Throws:
java.io.IOException

getFtpFile

protected void getFtpFile(java.lang.String ftpServer,
                          int port,
                          java.lang.String user,
                          java.lang.String password,
                          java.lang.String urlPath)
This method downloads a file from a remote ftp server.

Parameters:
ftpServer - The ftp server
port - The server port to connect to
user - The user name
password - The password
urlPath - The file URL

disconnect

protected void disconnect()
This methods disconnects client from the ftp server.


getFtpFileSize

public static int getFtpFileSize(sun.net.ftp.FtpClient client,
                                 java.lang.String fileName)
                          throws java.io.IOException
This method returns the file size from the ftp server Probably not working. I have not tested it yet :|

Parameters:
client - The FtpClient
fileName - The file name
Returns:
The file size
Throws:
java.io.IOException

message

protected void message(javax.swing.JLabel label,
                       java.lang.String str)
Messages from the ftp server.

Parameters:
label - The label where to set message in
str - The message

setProgressBarValue

protected void setProgressBarValue(int value)
This method sets progress bar value.

Parameters:
value - The value to set

setProgressBarMaximum

protected void setProgressBarMaximum(int value)
This method sets progress bar maximum value.

Parameters:
value - The maximum value to set

setProgressBarString

protected void setProgressBarString(java.lang.String string)
This method sets progress bar string.

Parameters:
string - The string to set

setTransferedKb

protected void setTransferedKb(int value,
                               int size)
This method sets transfered kb string in a specific label.

Parameters:
value - The transfered kb
size - The file size