de.bsvrz.kex.kexdav.main
Class KExDaV

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

public class KExDaV
extends Object

Hauptklasse KExDaV

Author:
Kappich Systemberatung

Nested Class Summary
private  class KExDaV.ExceptionHandler
           
 
Field Summary
private  File _authenticationFile
           
private  Map<ConnectionParameter,RemoteDaVConnection> _connectionMap
           
private static Debug _debug
           
private  SystemObject _kexDavObject
           
private  ClientDavInterface _localConnection
           
private  KExDaVManager _manager
           
private  ParameterLoader _parameterLoader
           
private  Map<AttributeGroupPair,KExDaVDataPlugin> _plugins
           
private  boolean _terminateOnError
           
 
Constructor Summary
KExDaV(ClientDavInterface connection, SystemObject kexDavObject, File authenticationFile, Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
          Konstruktor für das Haupt-KExDaV-Objekt
 
Method Summary
private  void addNewConnectionsAndRefreshParameters(Iterable<RemoteDaVParameter> remoteDaVs)
          Fügt neue Verbindungen hinzu und aktualisiert beide den Vorhandenen die Parameter
private  void createExceptionHandler()
          Erstellt einen Exceptionhandler, der bei einem unbehandelten Fehler KExDaV beendet und eien Betriebsmeldung verschickt.
 SystemObject getKExDaVObject()
          Gibt das verwendete KExDaV-Objekt zurück
private  void removeOldConnections(Collection<ConnectionParameter> remoteDaVs)
          Entfernt Verbindungen, die nicht mehr bestehen sollen
 void setNewParameters(Collection<RemoteDaVParameter> remoteDaVs)
          Setzt die Parameter und startet damit den Austausch der Daten, Mengen und Objekte
 void setTerminateOnError(boolean terminateOnError)
          Setzt, ob KExDav bei einem schweren Fehler beendet werden soll (Standardmäßig aktiviert)
 void start()
          Startet das Laden der Parameter und damit den Datenaustausch
 void stop()
          Beendet das Laden der Parameter und bricht alle Verbindungen ab
 void terminate()
          Beendet KExDaV
 String toString()
           
 void triggerParameterExchange(KExDaVSpecification specification, Direction direction)
          Löst den Parameteraustausch per Trigger aus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_debug

private static final Debug _debug

_localConnection

private final ClientDavInterface _localConnection

_kexDavObject

private final SystemObject _kexDavObject

_authenticationFile

private final File _authenticationFile

_parameterLoader

private ParameterLoader _parameterLoader

_connectionMap

private final Map<ConnectionParameter,RemoteDaVConnection> _connectionMap

_manager

private final KExDaVManager _manager

_plugins

private final Map<AttributeGroupPair,KExDaVDataPlugin> _plugins

_terminateOnError

private boolean _terminateOnError
Constructor Detail

KExDaV

public KExDaV(ClientDavInterface connection,
              SystemObject kexDavObject,
              File authenticationFile,
              Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
Konstruktor für das Haupt-KExDaV-Objekt

Parameters:
connection - Lokale Verbindung
kexDavObject - KExDaV-Objekt
authenticationFile - Datei mit Passwörtern
plugins - Plugins zum Datenaustausch
Method Detail

createExceptionHandler

private void createExceptionHandler()
Erstellt einen Exceptionhandler, der bei einem unbehandelten Fehler KExDaV beendet und eien Betriebsmeldung verschickt.


start

public void start()
Startet das Laden der Parameter und damit den Datenaustausch


stop

public void stop()
Beendet das Laden der Parameter und bricht alle Verbindungen ab


setNewParameters

public void setNewParameters(Collection<RemoteDaVParameter> remoteDaVs)
                      throws MissingAreaException
Setzt die Parameter und startet damit den Austausch der Daten, Mengen und Objekte

Parameters:
remoteDaVs - Parameterspezifikation der Remote-Datenverteiler-Verbindungen samt auszutauschender Daten
Throws:
MissingAreaException - falls kein gültiger Konfigurationsbereich zum Erstellen von Objekten angegeben wurde, aber einer benötigt wurde.

removeOldConnections

private void removeOldConnections(Collection<ConnectionParameter> remoteDaVs)
Entfernt Verbindungen, die nicht mehr bestehen sollen

Parameters:
remoteDaVs - Datenverteiler-Verbindungs-Parameter der obsoleten Verbindungen

addNewConnectionsAndRefreshParameters

private void addNewConnectionsAndRefreshParameters(Iterable<RemoteDaVParameter> remoteDaVs)
                                            throws MissingAreaException
Fügt neue Verbindungen hinzu und aktualisiert beide den Vorhandenen die Parameter

Parameters:
remoteDaVs - neue Parameter
Throws:
MissingAreaException - Falls ein Konfigurationsbereich fehlt

triggerParameterExchange

public void triggerParameterExchange(KExDaVSpecification specification,
                                     Direction direction)
Löst den Parameteraustausch per Trigger aus

Parameters:
specification - Spezifikation eines Remote-Datenverteilers
direction - Richtung

toString

public String toString()
Overrides:
toString in class Object

setTerminateOnError

public void setTerminateOnError(boolean terminateOnError)
Setzt, ob KExDav bei einem schweren Fehler beendet werden soll (Standardmäßig aktiviert)

Parameters:
terminateOnError - true wenn KExDaV beendet werden soll

terminate

public void terminate()
Beendet KExDaV


getKExDaVObject

public SystemObject getKExDaVObject()
Gibt das verwendete KExDaV-Objekt zurück

Returns:
KExDaV-Objekt