de.bsvrz.kex.kexdav.main
Class RemoteDaVConnection

java.lang.Object
  extended by de.bsvrz.kex.kexdav.main.RemoteDaVConnection

public class RemoteDaVConnection
extends Object

Verbindung zu einem Remote-Datenverteiler

Author:
Kappich Systemberatung

Field Summary
private  File _authenticationFile
           
private  ConnectionParameter _connectionParameters
           
private  KExDaVExchange _kExDaVExchange
           
private  ClientDavInterface _localConnection
           
private  ManagerInterface _manager
           
private  RemoteDaVParameter _parameters
           
private  Map<AttributeGroupPair,KExDaVDataPlugin> _plugins
           
private  AdjustableTimer _reconnectionTimer
           
private  ClientDavInterface _remoteConnection
           
 
Constructor Summary
RemoteDaVConnection(RemoteDaVParameter parameters, File authenticationFile, ClientDavInterface localConnection, ManagerInterface manager, Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
          Konstruktor
 
Method Summary
private  long getReconnectionDelay(RemoteDaVParameter parameters)
          Gibt die Wiederverbindungs-Wartezeit zurück
private static String getUserPassword(String davPid, String user, File authFile)
          Gibt das Passwort für die Dav-authentifizierung zurück
 boolean isConnected()
          Gibt zurück, ob die Verbindung hergestellt ist
 void setNewParameter(RemoteDaVParameter parameter)
          Wird aufgerufen, wenn neue Parameter eintreffen
 void start()
          Versucht eine Verbindung herzustellen und startet den Datenaustausch.
private  void startReconnectTimer()
          Startet den Wiederverbindungs-Timer
 void stop()
          Beendet die Verbindung und stoppt die automatische Verbindungsaufnahme bis zu einem erneuten Aufruf von start()
 String toString()
           
 void triggerParameterExchange(Direction direction)
          Löst den einmaligen Austausch von Parameterdaten aus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_parameters

private RemoteDaVParameter _parameters

_manager

private final ManagerInterface _manager

_plugins

private final Map<AttributeGroupPair,KExDaVDataPlugin> _plugins

_authenticationFile

private final File _authenticationFile

_localConnection

private final ClientDavInterface _localConnection

_remoteConnection

private ClientDavInterface _remoteConnection

_kExDaVExchange

private KExDaVExchange _kExDaVExchange

_connectionParameters

private final ConnectionParameter _connectionParameters

_reconnectionTimer

private volatile AdjustableTimer _reconnectionTimer
Constructor Detail

RemoteDaVConnection

public RemoteDaVConnection(RemoteDaVParameter parameters,
                           File authenticationFile,
                           ClientDavInterface localConnection,
                           ManagerInterface manager,
                           Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
Konstruktor

Parameters:
parameters - Datenverteiler-Parameter
authenticationFile - Datei mit Passwörtern
localConnection - lokale Verbindung
manager - KExDaV-Verwaltung
plugins - Plugins zum Datenaustausch
Method Detail

start

public void start()
           throws MissingAreaException
Versucht eine Verbindung herzustellen und startet den Datenaustausch. Falls keine Verbindung hergestellt werden kann, wird periodisch versucht die Verbindung neu herzustellen.

Throws:
MissingAreaException - ein benötigter Konfigurationsbereich fehlt

startReconnectTimer

private void startReconnectTimer()
Startet den Wiederverbindungs-Timer


getUserPassword

private static String getUserPassword(String davPid,
                                      String user,
                                      File authFile)
                               throws MissingParameterException
Gibt das Passwort für die Dav-authentifizierung zurück

Parameters:
davPid - Datenverteiler-Pid
user - Benutzer
authFile - passwd-datei
Returns:
Passwort
Throws:
MissingParameterException - Falls die passwd kein solches Passwort enthält

stop

public void stop()
Beendet die Verbindung und stoppt die automatische Verbindungsaufnahme bis zu einem erneuten Aufruf von start()


setNewParameter

public void setNewParameter(RemoteDaVParameter parameter)
                     throws MissingAreaException
Wird aufgerufen, wenn neue Parameter eintreffen

Parameters:
parameter - Parameter
Throws:
MissingAreaException - ein benötigter Konfigurationsbereich fehlt

getReconnectionDelay

private long getReconnectionDelay(RemoteDaVParameter parameters)
Gibt die Wiederverbindungs-Wartezeit zurück

Parameters:
parameters -
Returns:
Wartezeit

triggerParameterExchange

public void triggerParameterExchange(Direction direction)
Löst den einmaligen Austausch von Parameterdaten aus

Parameters:
direction - Richtung

isConnected

public boolean isConnected()
Gibt zurück, ob die Verbindung hergestellt ist

Returns:
True wenn die Verbindung hergestellt ist

toString

public String toString()
Overrides:
toString in class Object