de.bsvrz.kex.kexdav.correspondingObjects
Class CorrespondingObjectManager

java.lang.Object
  extended by de.bsvrz.kex.kexdav.correspondingObjects.CorrespondingObjectManager
All Implemented Interfaces:
ObjectManagerInterface

public class CorrespondingObjectManager
extends Object
implements ObjectManagerInterface

Verwaltung korrespondierender Objekte, der Konfigurationsbereiche um diese abzuspeichern, und der Plug-Ins um die Attributgruppen zu konvertieren

Author:
Kappich Systemberatung

Constructor Summary
CorrespondingObjectManager(ClientDavInterface localConnection, ClientDavInterface remoteConnection, ManagerInterface manager, Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
          Erstellt eine Verwaltung korrespondierender Objekte.
 
Method Summary
 void clear()
          Beendet alle von dieser Klasse verwendeten Austausche
 void copyObjectIfNecessary(ObjectSpecification objectSpecification, ClientDavInterface sourceConnection, ClientDavInterface targetConnection)
          Wird aufgerufen, wenn im Zielsystem ein dynamisches Objekt gebraucht wird.
 CopyableCorrespondingObject createObjectExchange(ObjectSpecification objectSpecification, Direction direction)
          Erstellt einen Austausch dynamischer Objekte
 ConfigurationArea getConfigurationAreaLocal(String typePid)
          Sucht den passenden Konfigurationsbereich um ein Objekt im Lokal-System abzuspeichern
 ConfigurationArea getConfigurationAreaRemote(String typePid)
          Sucht den passenden Konfigurationsbereich um ein Objekt im Remote-System abzuspeichern
 ClientDavInterface getLocalConnection()
          Gibt die lokale Verbindung zurück
 CorrespondingObject getObject(ObjectSpecification objectSpecification)
          Gibt zu einer Pid ein korrespondierendes Objekt zurück, ohne dieses zu kopieren o.ä.
 KExDaVDataPlugin getPlugIn(String atgSource, String atgTarget)
          Gibt ein Plugin zurück um von atgSource nach atgTarget zu konvertieren.
 ClientDavInterface getRemoteConnection()
          Gibt die Remote-Verbindung zurück
 boolean removeObjectExchange(ObjectSpecification objectSpecification, Direction direction)
          Entfernt einen Objektaustausch
 void setConfigurationAreas(ConfigurationArea localDefaultArea, ConfigurationArea remoteDefaultArea, Map<String,ConfigurationArea> localAreas, Map<String,ConfigurationArea> remoteAreas)
          Setzt die Konfigurationsbereiche, in denen die Objekte angelegt werden sollen
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CorrespondingObjectManager

public CorrespondingObjectManager(ClientDavInterface localConnection,
                                  ClientDavInterface remoteConnection,
                                  ManagerInterface manager,
                                  Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
Erstellt eine Verwaltung korrespondierender Objekte. Diese sollte es einmal pro Remote-Datenverteiler geben.

Parameters:
localConnection - Lokale Verbindung
remoteConnection - Remote-Verbindung
manager - KExDaV-Verwaltung
plugins - Plugins die pro Attributgruppenkonvertierung verwendet werden
Method Detail

createObjectExchange

public CopyableCorrespondingObject createObjectExchange(ObjectSpecification objectSpecification,
                                                        Direction direction)
                                                 throws MissingAreaException
Erstellt einen Austausch dynamischer Objekte

Parameters:
objectSpecification - Pid des Objektes
direction - Richtung des Austausches
Returns:
die Klasse des Korrespondierenden Objektes
Throws:
MissingAreaException - Falls kein Konfigurationsbereich gefunden werden konnte, um das Objekt auf dem Zielsystem anzulegen

removeObjectExchange

public boolean removeObjectExchange(ObjectSpecification objectSpecification,
                                    Direction direction)
Entfernt einen Objektaustausch

Parameters:
objectSpecification - Pid
direction - Richtung
Returns:
True wenn erfolgreich entfernt, False falls nicht vorhanden

getObject

public CorrespondingObject getObject(ObjectSpecification objectSpecification)
Gibt zu einer Pid ein korrespondierendes Objekt zurück, ohne dieses zu kopieren o.ä.

Specified by:
getObject in interface ObjectManagerInterface
Parameters:
objectSpecification - Pid
Returns:
die Klasse des korrespondierenden Objektes

copyObjectIfNecessary

public void copyObjectIfNecessary(ObjectSpecification objectSpecification,
                                  ClientDavInterface sourceConnection,
                                  ClientDavInterface targetConnection)
Description copied from interface: ObjectManagerInterface
Wird aufgerufen, wenn im Zielsystem ein dynamisches Objekt gebraucht wird. Diese Funktion sollte, falls nötig und möglich, das Objekt kopieren. Es gibt derzeit keine Rückmeldung, ob dies auch geklappt hat.

Specified by:
copyObjectIfNecessary in interface ObjectManagerInterface
Parameters:
objectSpecification - Spezifikation zur Ermittlung des Objektes
sourceConnection - Quellverbindung
targetConnection - Zielverbindung

getLocalConnection

public ClientDavInterface getLocalConnection()
Description copied from interface: ObjectManagerInterface
Gibt die lokale Verbindung zurück

Specified by:
getLocalConnection in interface ObjectManagerInterface
Returns:
Lokale Verbindung

getRemoteConnection

public ClientDavInterface getRemoteConnection()
Description copied from interface: ObjectManagerInterface
Gibt die Remote-Verbindung zurück

Specified by:
getRemoteConnection in interface ObjectManagerInterface
Returns:
die Remote-Verbindung

getConfigurationAreaRemote

public ConfigurationArea getConfigurationAreaRemote(String typePid)
                                             throws MissingAreaException
Description copied from interface: ObjectManagerInterface
Sucht den passenden Konfigurationsbereich um ein Objekt im Remote-System abzuspeichern

Specified by:
getConfigurationAreaRemote in interface ObjectManagerInterface
Parameters:
typePid - Objekt-Typ
Returns:
Konfigurationsbereich
Throws:
MissingAreaException - Falls kein Konfigurationsbereich gefunden werden konnte

getConfigurationAreaLocal

public ConfigurationArea getConfigurationAreaLocal(String typePid)
                                            throws MissingAreaException
Description copied from interface: ObjectManagerInterface
Sucht den passenden Konfigurationsbereich um ein Objekt im Lokal-System abzuspeichern

Specified by:
getConfigurationAreaLocal in interface ObjectManagerInterface
Parameters:
typePid - Objekt-Typ
Returns:
Konfigurationsbereich
Throws:
MissingAreaException - Falls kein Konfigurationsbereich gefunden werden konnte

getPlugIn

public KExDaVDataPlugin getPlugIn(String atgSource,
                                  String atgTarget)
                           throws MissingPluginException
Description copied from interface: ObjectManagerInterface
Gibt ein Plugin zurück um von atgSource nach atgTarget zu konvertieren. Wenn atgSource und atgTarget gleich sind wird einBasicKExDaVDataPlugin zurückgegeben

Specified by:
getPlugIn in interface ObjectManagerInterface
Parameters:
atgSource - Quell-Attributgruppe (Pid)
atgTarget - Ziel-Attributgruppe (Pid)
Returns:
ein KExDaVDataPlugin
Throws:
MissingPluginException - Falls kein Plugin gefunden werden kann

setConfigurationAreas

public void setConfigurationAreas(ConfigurationArea localDefaultArea,
                                  ConfigurationArea remoteDefaultArea,
                                  Map<String,ConfigurationArea> localAreas,
                                  Map<String,ConfigurationArea> remoteAreas)
Setzt die Konfigurationsbereiche, in denen die Objekte angelegt werden sollen

Parameters:
localDefaultArea - Standardbereich Lokal (oder null für keinen Standardbereich)
remoteDefaultArea - Standardbereich Remote (oder null für keinen Standardbereich)
localAreas - Lokale zusätzliche Bereiche nach Typ
remoteAreas - Remote zusätzliche Bereiche nach Typ

toString

public String toString()
Overrides:
toString in class Object

clear

public void clear()
Beendet alle von dieser Klasse verwendeten Austausche