public class CorrespondingObjectManager extends java.lang.Object implements ObjectManagerInterface
Verwaltung korrespondierender Objekte, der Konfigurationsbereiche um diese abzuspeichern, und der Plug-Ins um die Attributgruppen zu konvertieren
| Modifier and Type | Field and Description |
|---|---|
private java.util.Map<java.lang.String,ConfigurationArea> |
_localAreas |
private ClientDavInterface |
_localConnection |
private ConfigurationArea |
_localDefaultArea |
private ManagerInterface |
_manager |
private HashBagMap<ObjectSpecification,CorrespondingObject> |
_objectMap |
private java.util.Map<AttributeGroupPair,KExDaVDataPlugin> |
_plugins |
private java.util.Map<java.lang.String,ConfigurationArea> |
_remoteAreas |
private ClientDavInterface |
_remoteConnection |
private ConfigurationArea |
_remoteDefaultArea |
| Constructor and Description |
|---|
CorrespondingObjectManager(ClientDavInterface localConnection,
ClientDavInterface remoteConnection,
ManagerInterface manager,
java.util.Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
Erstellt eine Verwaltung korrespondierender Objekte.
|
| Modifier and Type | Method and Description |
|---|---|
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(java.lang.String typePid)
Sucht den passenden Konfigurationsbereich um ein Objekt im Lokal-System abzuspeichern
|
ConfigurationArea |
getConfigurationAreaRemote(java.lang.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(java.lang.String atgSource,
java.lang.String atgTarget)
Gibt ein Plugin zurück um von atgSource nach atgTarget zu konvertieren.
|
ClientDavInterface |
getRemoteConnection()
Gibt die Remote-Verbindung zurück
|
private void |
removeIllegalObjects(boolean onRemoteSystem,
ConfigurationArea targetArea,
java.util.Collection<ConfigurationArea> additionalTargetAreas)
Löscht Objekte aus den Austauschbereichen, die dort nichts zu suchen haben.
|
private void |
removeObject(boolean onRemoteSystem,
SystemObject systemObject)
Löscht ein Objekt.
|
boolean |
removeObjectExchange(ObjectSpecification objectSpecification,
Direction direction)
Entfernt einen Objektaustausch
|
void |
setConfigurationAreas(ConfigurationArea localDefaultArea,
ConfigurationArea remoteDefaultArea,
java.util.Map<java.lang.String,ConfigurationArea> localAreas,
java.util.Map<java.lang.String,ConfigurationArea> remoteAreas)
Setzt die Konfigurationsbereiche, in denen die Objekte angelegt werden sollen
|
java.lang.String |
toString() |
private final HashBagMap<ObjectSpecification,CorrespondingObject> _objectMap
private java.util.Map<java.lang.String,ConfigurationArea> _localAreas
private java.util.Map<java.lang.String,ConfigurationArea> _remoteAreas
private ConfigurationArea _localDefaultArea
private ConfigurationArea _remoteDefaultArea
private final ClientDavInterface _localConnection
private final ClientDavInterface _remoteConnection
private final ManagerInterface _manager
private final java.util.Map<AttributeGroupPair,KExDaVDataPlugin> _plugins
public CorrespondingObjectManager(ClientDavInterface localConnection, ClientDavInterface remoteConnection, ManagerInterface manager, java.util.Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
Erstellt eine Verwaltung korrespondierender Objekte. Diese sollte es einmal pro Remote-Datenverteiler geben.
localConnection - Lokale VerbindungremoteConnection - Remote-Verbindungmanager - KExDaV-Verwaltungplugins - Plugins die pro Attributgruppenkonvertierung verwendet werdenpublic CopyableCorrespondingObject createObjectExchange(ObjectSpecification objectSpecification, Direction direction) throws MissingAreaException
Erstellt einen Austausch dynamischer Objekte
objectSpecification - Pid des Objektesdirection - Richtung des AustauschesMissingAreaException - Falls kein Konfigurationsbereich gefunden werden konnte, um das Objekt auf dem Zielsystem anzulegenpublic boolean removeObjectExchange(ObjectSpecification objectSpecification, Direction direction)
Entfernt einen Objektaustausch
objectSpecification - Piddirection - Richtungpublic CorrespondingObject getObject(ObjectSpecification objectSpecification)
Gibt zu einer Pid ein korrespondierendes Objekt zurück, ohne dieses zu kopieren o.ä.
getObject in interface ObjectManagerInterfaceobjectSpecification - Pidpublic void copyObjectIfNecessary(ObjectSpecification objectSpecification, ClientDavInterface sourceConnection, ClientDavInterface targetConnection)
ObjectManagerInterfaceWird 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.
copyObjectIfNecessary in interface ObjectManagerInterfaceobjectSpecification - Spezifikation zur Ermittlung des ObjektessourceConnection - QuellverbindungtargetConnection - Zielverbindungpublic ClientDavInterface getLocalConnection()
ObjectManagerInterfaceGibt die lokale Verbindung zurück
getLocalConnection in interface ObjectManagerInterfacepublic ClientDavInterface getRemoteConnection()
ObjectManagerInterfaceGibt die Remote-Verbindung zurück
getRemoteConnection in interface ObjectManagerInterfacepublic ConfigurationArea getConfigurationAreaRemote(java.lang.String typePid) throws MissingAreaException
ObjectManagerInterfaceSucht den passenden Konfigurationsbereich um ein Objekt im Remote-System abzuspeichern
getConfigurationAreaRemote in interface ObjectManagerInterfacetypePid - Objekt-TypMissingAreaException - Falls kein Konfigurationsbereich gefunden werden konntepublic ConfigurationArea getConfigurationAreaLocal(java.lang.String typePid) throws MissingAreaException
ObjectManagerInterfaceSucht den passenden Konfigurationsbereich um ein Objekt im Lokal-System abzuspeichern
getConfigurationAreaLocal in interface ObjectManagerInterfacetypePid - Objekt-TypMissingAreaException - Falls kein Konfigurationsbereich gefunden werden konntepublic KExDaVDataPlugin getPlugIn(java.lang.String atgSource, java.lang.String atgTarget) throws MissingPluginException
ObjectManagerInterfaceGibt ein Plugin zurück um von atgSource nach atgTarget zu konvertieren. Wenn atgSource und atgTarget gleich sind wird einBasicKExDaVDataPlugin zurückgegeben
getPlugIn in interface ObjectManagerInterfaceatgSource - Quell-Attributgruppe (Pid)atgTarget - Ziel-Attributgruppe (Pid)MissingPluginException - Falls kein Plugin gefunden werden kannpublic void setConfigurationAreas(ConfigurationArea localDefaultArea, ConfigurationArea remoteDefaultArea, java.util.Map<java.lang.String,ConfigurationArea> localAreas, java.util.Map<java.lang.String,ConfigurationArea> remoteAreas)
Setzt die Konfigurationsbereiche, in denen die Objekte angelegt werden sollen
localDefaultArea - Standardbereich Lokal (oder null für keinen Standardbereich)remoteDefaultArea - Standardbereich Remote (oder null für keinen Standardbereich)localAreas - Lokale zusätzliche Bereiche nach TypremoteAreas - Remote zusätzliche Bereiche nach Typprivate void removeIllegalObjects(boolean onRemoteSystem,
ConfigurationArea targetArea,
java.util.Collection<ConfigurationArea> additionalTargetAreas)
Löscht Objekte aus den Austauschbereichen, die dort nichts zu suchen haben.
onRemoteSystem - true wenn das Objekt auf dem Remotesystem, false wenn es auf dem Lokalsystem gelöscht werden solltargetArea - StandardbereichadditionalTargetAreas - Zusätzliche Bereicheprivate void removeObject(boolean onRemoteSystem,
SystemObject systemObject)
throws MissingKExDaVAttributeGroupException
Löscht ein Objekt. Objekte werden nur gelöscht, wenn sie ausgetauscht wurden, dynamische Objekte sind und eine Pid haben.
onRemoteSystem - true wenn das Objekt auf dem Remotesystem, false wenn es auf dem Lokalsystem gelöscht werden sollsystemObject - Objekt.MissingKExDaVAttributeGroupExceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic void clear()
Beendet alle von dieser Klasse verwendeten Austausche