backup.client
Class BackupClient

java.lang.Object
  extended by java.lang.Thread
      extended by backup.client.BackupClient
All Implemented Interfaces:
java.lang.Runnable

public class BackupClient
extends java.lang.Thread

Main client engine.

Author:
Tore Mauset

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
BackupClient(java.lang.String[] args)
          Creates a new BackupClient.
 
Method Summary
 void addIgnore(java.lang.String ignore)
          Add a new ignore from backup.
 void addTarget(java.lang.String target)
          Add new target for backup.
 void exit()
          Tell the BackupClient to shut down.
 java.lang.Boolean getAutoBackup()
          Get automatic backup on or off
 java.lang.String getAutoBackupTime()
          Get time of day for automatic backup in 24 hour format, e.g.
 java.lang.Boolean getAutoLogin()
          Get automatic login on startup on or off.
 java.lang.String getHost()
          Get server address.
 java.lang.String getHostname()
          Get local hostname.
 java.lang.String getPort()
          Get server port.
 java.lang.String getRdiffCommand()
          Get path to rdiff-backup executable
 java.lang.String getUser()
          Get username.
 boolean isLoggedIn()
          Are we logged in on the server?
 java.util.Hashtable listFiles(java.lang.String search)
          Request a list of files matching search term from BackupServer.
 java.util.ArrayList listIgnores()
          Return current ignores.
 java.util.ArrayList listTargets()
          Return current targets.
 void login()
          Log in to the server.
 void logout()
          Log out from the server.
static void main(java.lang.String[] args)
          Main.
 void removeIgnore(java.lang.String ignore)
          Remove an existing ignore.
 void removeTarget(java.lang.String target)
          Remove existing target for backup.
 void run()
          Start main thread.
 void saveConfig()
          Saves the configuration to disk.
 void setAutoBackup(java.lang.Boolean autoBackup)
          Set automatic backup on or off
 void setAutoBackupTime(java.lang.String autoBackupTime)
          Set time of day for automatic backup in 24 hour format, e.g.
 void setAutoLogin(java.lang.Boolean autoLogin)
          Set automatic login on startup on or off.
 void setChallenge(java.lang.String challenge)
          Records a new challenge for authentification of next message.
 void setHost(java.lang.String host)
          Set server address.
 void setHostname(java.lang.String hostname)
          Set local hostname.
 void setPassword(java.lang.String password)
          Set password.
 void setPort(java.lang.String port)
          Set server port.
 void setRdiffCommand(java.lang.String rdiffCommand)
          Set path to rdiff-backup executable
 void setUser(java.lang.String user)
          Set username.
 void startBackup()
          Starts backup process.
 void startRestore(java.lang.String timestamp, java.lang.String target, java.lang.Boolean force)
          Starts restore process.
 void warn(java.lang.String s)
          Pass a warning to the user interface.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BackupClient

public BackupClient(java.lang.String[] args)
Creates a new BackupClient.

Parameters:
args - command line arguments
Method Detail

main

public static void main(java.lang.String[] args)
Main.

Parameters:
args - command line arguments

run

public void run()
Start main thread. This thread keeps track of tasks performed at regular intervals.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

exit

public void exit()
Tell the BackupClient to shut down.


login

public void login()
Log in to the server. Requests a challenge from the server and responds to it.


logout

public void logout()
Log out from the server.


startBackup

public void startBackup()
Starts backup process.


startRestore

public void startRestore(java.lang.String timestamp,
                         java.lang.String target,
                         java.lang.Boolean force)
Starts restore process.

Parameters:
timestamp - timestamp of target to restore, according to rdiff-backup standards
target - target to restore
force - if true, rdiff-backup will delete existing target before restoring

addTarget

public void addTarget(java.lang.String target)
Add new target for backup.

Parameters:
target - new target

removeTarget

public void removeTarget(java.lang.String target)
Remove existing target for backup.

Parameters:
target - existing target

listTargets

public java.util.ArrayList listTargets()
Return current targets.

Returns:
current targets

addIgnore

public void addIgnore(java.lang.String ignore)
Add a new ignore from backup.

Parameters:
ignore - new ignore

removeIgnore

public void removeIgnore(java.lang.String ignore)
Remove an existing ignore.

Parameters:
ignore - existing ignore

listIgnores

public java.util.ArrayList listIgnores()
Return current ignores.

Returns:
current ignores

listFiles

public java.util.Hashtable listFiles(java.lang.String search)
Request a list of files matching search term from BackupServer.

Parameters:
search - search term
Returns:
list of files

isLoggedIn

public boolean isLoggedIn()
Are we logged in on the server?

Returns:
logged in

getUser

public java.lang.String getUser()
Get username.

Returns:
username

setUser

public void setUser(java.lang.String user)
Set username.

Parameters:
user - username

setPassword

public void setPassword(java.lang.String password)
Set password.

Parameters:
password - password

getHostname

public java.lang.String getHostname()
Get local hostname.

Returns:
hostname

setHostname

public void setHostname(java.lang.String hostname)
Set local hostname.

Parameters:
hostname - hostname

getHost

public java.lang.String getHost()
Get server address.

Returns:
server address

setHost

public void setHost(java.lang.String host)
Set server address.

Parameters:
host - server address

getPort

public java.lang.String getPort()
Get server port.

Returns:
server port

setPort

public void setPort(java.lang.String port)
Set server port.

Parameters:
port - server port

getAutoBackup

public java.lang.Boolean getAutoBackup()
Get automatic backup on or off

Returns:
automatic backup

setAutoBackup

public void setAutoBackup(java.lang.Boolean autoBackup)
Set automatic backup on or off

Parameters:
autoBackup - automatic backup

getAutoBackupTime

public java.lang.String getAutoBackupTime()
Get time of day for automatic backup in 24 hour format, e.g. "23:30".

Returns:
time for automatic backup

setAutoBackupTime

public void setAutoBackupTime(java.lang.String autoBackupTime)
Set time of day for automatic backup in 24 hour format, e.g. "23:30".

Parameters:
autoBackupTime - time for automatic backup

getAutoLogin

public java.lang.Boolean getAutoLogin()
Get automatic login on startup on or off.

Returns:
automatic login

setAutoLogin

public void setAutoLogin(java.lang.Boolean autoLogin)
Set automatic login on startup on or off.

Parameters:
autoLogin - automatic login

getRdiffCommand

public java.lang.String getRdiffCommand()
Get path to rdiff-backup executable

Returns:
rdiff-backup command

setRdiffCommand

public void setRdiffCommand(java.lang.String rdiffCommand)
Set path to rdiff-backup executable

Parameters:
rdiffCommand - rdiff-backup executable

warn

public void warn(java.lang.String s)
Pass a warning to the user interface.

Parameters:
s - warning text

setChallenge

public void setChallenge(java.lang.String challenge)
Records a new challenge for authentification of next message.

Parameters:
challenge - the new challenge

saveConfig

public void saveConfig()
Saves the configuration to disk.