public class ConfigurationQueryManager extends java.lang.Object implements SimulationHandler
Diese Klasse nimmt Konfigurationsanfragen entgegen und leitet sie entsprechend an die Konfiguration weiter. Muss die Konfiguration eine Antwort auf die Anfrage verschicken, wird dies ebenfalls durch dieses Objekt realisiert.
Modifier and Type | Class and Description |
---|---|
private class |
ConfigurationQueryManager.InvalidationListenerForTyps |
private class |
ConfigurationQueryManager.NameChangedListenerForTyps |
private class |
ConfigurationQueryManager.ObjectCreatedListenerForTyps |
private class |
ConfigurationQueryManager.QueryHandler |
private class |
ConfigurationQueryManager.QueryReceiver |
private static class |
ConfigurationQueryManager.ReceiverSubscriptionSimulation |
private class |
ConfigurationQueryManager.SimulationListener
Listener, der aufgerufen wird, sobald sich die dynamische Menge mit Simulationen ändert.
|
Modifier and Type | Field and Description |
---|---|
private Authentication |
_authentication |
private ClientDavInterface |
_connection |
private DataDescription |
_dataDescriptionArea
Aufträge für die Konfiguration, Konfigurationsbereiche
|
private DataDescription |
_dataDescriptionRead
Aufträge für die Konfiguration, lesen
|
private DataDescription |
_dataDescriptionUser
Aufträge für die Konfiguration, Benutzerverwaltung
|
private DataDescription |
_dataDescriptionWrite
Aufträge für die Konfiguration, schreibend
|
private static Debug |
_debug |
private ForeignObjectManager |
_foreignObjectManager |
private ConfigurationAuthority |
_localAuthority |
private ConfigDataModel |
_localConfiguration |
private java.util.Map<SystemObject,ConfigurationQueryManager.QueryHandler> |
_querySender2queryHandlerMap |
private ConfigurationQueryManager.SimulationListener |
_simulationListener
Listener, der Änderungen auf der Menge der Simulationen überwacht
|
private java.util.Map<SystemObject,ConfigSimulationObject> |
_simulationObjects
Speichert zu einem SystemObjekt, das eine Simulation darstellt, ein Java Objekt, das eine Simulation aus Sicht der Konfiguration, darstellt.
|
private java.util.Map<java.lang.Short,ConfigurationQueryManager.ReceiverSubscriptionSimulation> |
_simulationReadSubscriptions
Enthält alle Anmeldungen der Konfiguration als Senke auf lesende Konfigurationsanfragen unter Berücksichtigung der Simulationsvariante.
|
private java.util.HashMap<java.lang.Short,ConfigSimulationObject> |
_simulations
Map zum Zugriff auf die Simulationsobjekte über die Simulationsvariante
|
private java.util.Map<java.lang.Short,ConfigurationQueryManager.ReceiverSubscriptionSimulation> |
_simulationWriteSubscriptions
Enthält alle Anmeldungen der Konfiguration als Senke auf schreibende Konfigurationsanfragen unter Berücksichtigung der Simulationsvariante.
|
Constructor and Description |
---|
ConfigurationQueryManager(ClientDavInterface connection,
ConfigDataModel localConfiguration,
ConfigurationAuthority localAuthority,
Authentication authentication,
java.io.File foreignObjectCacheFile) |
Modifier and Type | Method and Description |
---|---|
private ConfigSimulationObject |
createNewSimulationObject(SystemObject systemObject)
Erzeugt ein Simulationsobjekt
ConfigSimulationObject aus einem SystemObjekt. |
private void |
detachHandler(SystemObject querySender) |
private static DataDescription |
getDataDescription(DataModel configuration,
java.lang.String atgPid,
java.lang.String aspPid)
Hilfsfunktion, die zu den übergebenen PIDs von einer Attributgruppe und eines Aspekts eine DataDescription erstellt.
|
ForeignObjectManager |
getForeignObjectManager() |
ConfigSimulationObject |
getSimulationByApplication(SystemObject systemObject)
Gibt das Simulationsobjekt zum angegebenen Applikationsobjekt zurück
|
ConfigSimulationObject |
getSimulationByVariant(short simulationVariant)
Gibt das Simulationsobjekt zur angegebenen Simulationsvariante zurück
|
void |
start() |
void |
subscribeReadRequestForSimulation(short simulationVariant,
ConfigSimulationObject simulationObject)
Diese Methode meldet für eine Simulationsvariante einen Empfänger für lesende Konfigurationsanfragen an, falls dies nicht bereits geschehen ist.
|
void |
subscribeWriteRequestForSimulation(short simulationVariant,
ConfigSimulationObject simulationObject)
Diese Methode meldet für eine Simulationsvariante einen Empfänger für Konfigurationsschreibanfragenanfragen an, falls dies nicht bereits geschehen ist.
|
void |
unsubscribeReadRequestForSimulation(short simulationVariant)
Meldet für eine Simulationsvariante die Anmeldung als Empfänger für Konfigurationsschreibanfragen ab.
|
void |
unsubscribeWriteRequestForSimulation(short simulationVariant)
Meldet für eine Simulationsvariante die Anmeldung als Empfänger für Konfigurationsschreibanfragen ab.
|
private static final Debug _debug
private ClientDavInterface _connection
private final ConfigDataModel _localConfiguration
private final ConfigurationAuthority _localAuthority
private final Authentication _authentication
private final java.util.Map<SystemObject,ConfigurationQueryManager.QueryHandler> _querySender2queryHandlerMap
private final java.util.Map<SystemObject,ConfigSimulationObject> _simulationObjects
Speichert zu einem SystemObjekt, das eine Simulation darstellt, ein Java Objekt, das eine Simulation aus Sicht der Konfiguration, darstellt.
Als Schlüssel dient eine Simulation aus der dynamischen Menge der Simulationen. Der value ist das entsprechende JavaObjekt, das die Simulation aus Sicht der Konfiguration darstellt.
private java.util.HashMap<java.lang.Short,ConfigSimulationObject> _simulations
Map zum Zugriff auf die Simulationsobjekte über die Simulationsvariante
private final java.util.Map<java.lang.Short,ConfigurationQueryManager.ReceiverSubscriptionSimulation> _simulationReadSubscriptions
Enthält alle Anmeldungen der Konfiguration als Senke auf lesende Konfigurationsanfragen unter Berücksichtigung der Simulationsvariante.
private final java.util.Map<java.lang.Short,ConfigurationQueryManager.ReceiverSubscriptionSimulation> _simulationWriteSubscriptions
Enthält alle Anmeldungen der Konfiguration als Senke auf schreibende Konfigurationsanfragen unter Berücksichtigung der Simulationsvariante.
private DataDescription _dataDescriptionWrite
Aufträge für die Konfiguration, schreibend
private DataDescription _dataDescriptionRead
Aufträge für die Konfiguration, lesen
private DataDescription _dataDescriptionUser
Aufträge für die Konfiguration, Benutzerverwaltung
private DataDescription _dataDescriptionArea
Aufträge für die Konfiguration, Konfigurationsbereiche
private ConfigurationQueryManager.SimulationListener _simulationListener
Listener, der Änderungen auf der Menge der Simulationen überwacht
private ForeignObjectManager _foreignObjectManager
public ConfigurationQueryManager(ClientDavInterface connection, ConfigDataModel localConfiguration, ConfigurationAuthority localAuthority, Authentication authentication, java.io.File foreignObjectCacheFile)
private static DataDescription getDataDescription(DataModel configuration, java.lang.String atgPid, java.lang.String aspPid)
Hilfsfunktion, die zu den übergebenen PIDs von einer Attributgruppe und eines Aspekts eine DataDescription erstellt.
configuration
- Datenmodell mit dessen Hilfe die Objekte zu den PIDs ermittelt werdenatgPid
- Pid der gewünschten AttributgruppeaspPid
- Pid des gewünschten Aspektsjava.lang.IllegalStateException
- mit entsprechender Fehlermeldung, falls eine der beiden PIDs nicht aufgelöst werden konnte.public ForeignObjectManager getForeignObjectManager()
public void start()
private void detachHandler(SystemObject querySender)
public void subscribeReadRequestForSimulation(short simulationVariant, ConfigSimulationObject simulationObject)
Diese Methode meldet für eine Simulationsvariante einen Empfänger für lesende Konfigurationsanfragen an, falls dies nicht bereits geschehen ist.
simulationVariant
- Simulationsvariante, mit der sich Konfiguration auf Anfragen anmeldetpublic void subscribeWriteRequestForSimulation(short simulationVariant, ConfigSimulationObject simulationObject)
Diese Methode meldet für eine Simulationsvariante einen Empfänger für Konfigurationsschreibanfragenanfragen an, falls dies nicht bereits geschehen ist.
simulationVariant
- Simulationsvariante, mit der sich Konfiguration auf Anfragen anmeldetpublic void unsubscribeWriteRequestForSimulation(short simulationVariant)
Meldet für eine Simulationsvariante die Anmeldung als Empfänger für Konfigurationsschreibanfragen ab. Es ist dann unmöglich für diese Simulation weiter Anfragen zu stellen, die schreibend auf die Konfiguration zugreifen wollen. Die Methode kann mehrfach aufgerufen werden, de Verbindung wird nur dann abgebaut, wenn sie auch existiert.
simulationVariant
- Simulationsvariante, für die es nicht mehr möglich sein soll Schreibanfragen zu stellen.public void unsubscribeReadRequestForSimulation(short simulationVariant)
Meldet für eine Simulationsvariante die Anmeldung als Empfänger für Konfigurationsschreibanfragen ab. Es ist dann unmöglich für diese Simulation weiter Anfragen zu stellen, die schreibend auf die Konfiguration zugreifen wollen. Die Methode kann mehrfach aufgerufen werden, de Verbindung wird nur dann abgebaut, wenn sie auch existiert.
simulationVariant
- Simulationsvariante, für die es nicht mehr möglich sein soll Schreibanfragen zu stellen.public ConfigSimulationObject getSimulationByVariant(short simulationVariant)
SimulationHandler
Gibt das Simulationsobjekt zur angegebenen Simulationsvariante zurück
getSimulationByVariant
in interface SimulationHandler
simulationVariant
- Siulationsvariantepublic ConfigSimulationObject getSimulationByApplication(SystemObject systemObject)
SimulationHandler
Gibt das Simulationsobjekt zum angegebenen Applikationsobjekt zurück
getSimulationByApplication
in interface SimulationHandler
systemObject
- Applikationsobjektprivate ConfigSimulationObject createNewSimulationObject(SystemObject systemObject) throws OneSubscriptionPerSendData
Erzeugt ein Simulationsobjekt ConfigSimulationObject
aus einem SystemObjekt.
Dabei wird der Typ(online/offline), die Simulationsvariante und die speziell zu behandelnden Mengen der Simulation ausgelesen.
systemObject
- Objekt, das vom Typ typ.simulation sein muss (oder diese Eigenschaften erbt).OneSubscriptionPerSendData