public class RemoteDaVConnection
extends java.lang.Object
Verbindung zu einem Remote-Datenverteiler
Modifier and Type | Field and Description |
---|---|
private java.io.File |
_authenticationFile |
private ConnectionParameter |
_connectionParameters |
private KExDaVExchange |
_kExDaVExchange |
private ClientDavInterface |
_localConnection |
private ManagerInterface |
_manager |
private RemoteDaVParameter |
_parameters |
private java.util.Map<AttributeGroupPair,KExDaVDataPlugin> |
_plugins |
private AdjustableTimer |
_reconnectionTimer |
private ClientDavInterface |
_remoteConnection |
Constructor and Description |
---|
RemoteDaVConnection(RemoteDaVParameter parameters,
java.io.File authenticationFile,
ClientDavInterface localConnection,
ManagerInterface manager,
java.util.Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
Konstruktor
|
Modifier and Type | Method and Description |
---|---|
private static ClientCredentials |
getClientCredentials(java.lang.String davPid,
java.lang.String user,
java.io.File authFile)
Gibt das Passwort für die Dav-Authentifizierung zurück
|
private long |
getReconnectionDelay(RemoteDaVParameter parameters)
Gibt die Wiederverbindungs-Wartezeit 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() |
java.lang.String |
toString() |
void |
triggerParameterExchange(Direction direction)
Löst den einmaligen Austausch von Parameterdaten aus
|
private RemoteDaVParameter _parameters
private final ManagerInterface _manager
private final java.util.Map<AttributeGroupPair,KExDaVDataPlugin> _plugins
private final java.io.File _authenticationFile
private final ClientDavInterface _localConnection
private ClientDavInterface _remoteConnection
private KExDaVExchange _kExDaVExchange
private final ConnectionParameter _connectionParameters
private volatile AdjustableTimer _reconnectionTimer
public RemoteDaVConnection(RemoteDaVParameter parameters, java.io.File authenticationFile, ClientDavInterface localConnection, ManagerInterface manager, java.util.Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
Konstruktor
parameters
- Datenverteiler-ParameterauthenticationFile
- Datei mit PasswörternlocalConnection
- lokale Verbindungmanager
- KExDaV-Verwaltungplugins
- Plugins zum Datenaustauschpublic 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.
MissingAreaException
- ein benötigter Konfigurationsbereich fehltprivate void startReconnectTimer()
Startet den Wiederverbindungs-Timer
private static ClientCredentials getClientCredentials(java.lang.String davPid, java.lang.String user, java.io.File authFile) throws MissingParameterException
Gibt das Passwort für die Dav-Authentifizierung zurück
davPid
- Datenverteiler-Piduser
- BenutzerauthFile
- passwd-dateiMissingParameterException
- Falls die passwd kein solches Passwort enthältpublic void stop()
Beendet die Verbindung und stoppt die automatische Verbindungsaufnahme bis zu einem erneuten Aufruf von start()
public void setNewParameter(RemoteDaVParameter parameter) throws MissingAreaException
Wird aufgerufen, wenn neue Parameter eintreffen
parameter
- ParameterMissingAreaException
- ein benötigter Konfigurationsbereich fehltprivate long getReconnectionDelay(RemoteDaVParameter parameters)
Gibt die Wiederverbindungs-Wartezeit zurück
parameters
- public void triggerParameterExchange(Direction direction)
Löst den einmaligen Austausch von Parameterdaten aus
direction
- Richtungpublic boolean isConnected()
Gibt zurück, ob die Verbindung hergestellt ist
public java.lang.String toString()
toString
in class java.lang.Object