rabbit.installer
Class Installer

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--rabbit.installer.Installer
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.lang.Runnable, java.io.Serializable

public class Installer
extends java.awt.Frame
implements java.lang.Runnable

This class installs the packages in its own zipfile.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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
Installer()
          Create a new Installer.
 
Method Summary
protected  void addLogo()
          Add the logo to the Frame.
protected  void addStatus()
          Add the status panel to the Frame.
protected  void addSteps()
          Add the wizard steps to the Frame.
 int askKeepOverWriteMerge(java.io.File f)
          Is it ok to do this?.
 boolean askOk(java.lang.String text)
          Is it ok to do this?.
 void closeNicely()
          Close down by cleaning things up nicely.
protected  java.lang.String findMe(java.lang.String paths)
          Try to find the zipfile we are run from.
protected  boolean isConfig(java.lang.String name)
          Is this filename a config file?
protected  boolean isSpecial(java.lang.String name)
          Is the given filename a special file?
static void main(java.lang.String[] args)
          Start a new Installer.
 void makeExecutable(java.lang.String[] filenames)
          Try to make the given files executable (under unix something like "chmod file"
protected  void merge(java.io.InputStream is, java.io.File f)
          Merge the given config beeing installed with the already existing one.
protected  void moveMiddle(java.awt.Window f)
          Move a frame to the middle of the screen.
protected  void removeDir(java.io.File dir)
          Remove a directory (including all of its files).
 void run()
          Install the files.
 void setStatus(java.lang.String status)
          Set the status.
protected  void showReadme()
          Show the readme in a new Window.
protected  void startInstall()
          Start the installation.
protected  boolean testFile(java.lang.String file)
          Test a file and see if it is ourself.
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, 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, 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, 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, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

Installer

public Installer()
Create a new Installer.

Method Detail

main

public static void main(java.lang.String[] args)
Start a new Installer.

Parameters:
args - run with --verbose to get verbose output.

findMe

protected java.lang.String findMe(java.lang.String paths)
Try to find the zipfile we are run from.

Parameters:
paths - the path to search in.
Returns:
the zipfile we are run from or null if not found.

testFile

protected boolean testFile(java.lang.String file)
Test a file and see if it is ourself.

Parameters:
file - the filename to test.
Returns:
true if this is ourself, false otherwise.

moveMiddle

protected void moveMiddle(java.awt.Window f)
Move a frame to the middle of the screen.

Parameters:
f - the Frame to move.

addLogo

protected void addLogo()
Add the logo to the Frame.


addStatus

protected void addStatus()
Add the status panel to the Frame.


addSteps

protected void addSteps()
Add the wizard steps to the Frame.


showReadme

protected void showReadme()
Show the readme in a new Window.


startInstall

protected void startInstall()
Start the installation.


askKeepOverWriteMerge

public int askKeepOverWriteMerge(java.io.File f)
Is it ok to do this?.

Returns:
true if it is ok, false otherwise.

askOk

public boolean askOk(java.lang.String text)
Is it ok to do this?.

Parameters:
text - the question to ask.
Returns:
true if it is ok, false otherwise.

merge

protected void merge(java.io.InputStream is,
                     java.io.File f)
              throws java.io.IOException
Merge the given config beeing installed with the already existing one.

Parameters:
is - the Config being installed.
f - the current Config.
java.io.IOException

isConfig

protected boolean isConfig(java.lang.String name)
Is this filename a config file?

Parameters:
name - the filename to check.
Returns:
true if the given name is in the list of config files, false otherwise.

isSpecial

protected boolean isSpecial(java.lang.String name)
Is the given filename a special file?

Parameters:
name - the filename to check.
Returns:
true if the given name is in the list of special files, false otherwise.

run

public void run()
Install the files.

Specified by:
run in interface java.lang.Runnable

makeExecutable

public void makeExecutable(java.lang.String[] filenames)
Try to make the given files executable (under unix something like "chmod file"

Parameters:
filenames - an array of filenames to make executables.

setStatus

public void setStatus(java.lang.String status)
Set the status.

Parameters:
status - the new status text.

closeNicely

public void closeNicely()
Close down by cleaning things up nicely.


removeDir

protected void removeDir(java.io.File dir)
Remove a directory (including all of its files).

Parameters:
dir - the directory to remove.