private class ConfigurationQueryManager.QueryHandler extends Object implements Runnable
| Modifier and Type | Class and Description |
|---|---|
private class |
ConfigurationQueryManager.QueryHandler.MutableSetChangePublisher
Diese Klasse wird bei Dynamischen Mengen angemeldet, wenn man über Änderungen der dynamischen Menge informiert werden möchte.
|
private class |
ConfigurationQueryManager.QueryHandler.PublishingCommunicationStateListener
Intern verwendeter Listener für Anmeldungen auf Änderungen der Elemente von dynamischen Zusammenstellungen.
|
private class |
ConfigurationQueryManager.QueryHandler.PublishingMutableCollectionChangeListener
Intern verwendeter Listener für Anmeldungen auf Änderungen der Elemente von dynamischen Zusammenstellungen.
|
| Modifier and Type | Field and Description |
|---|---|
private HashMap<ConfigurationQueryManager.QueryHandler.PublishingCommunicationStateListener,ConfigurationQueryManager.QueryHandler.PublishingCommunicationStateListener> |
_communicationChangedHandlers |
private DataDescription |
_dataDescriptionAreaLocal
Datenidentifikation für Konfigurationsanfragen, die Konfigurationsbereiche steuern.
|
private DataDescription |
_dataDescriptionReadLocal
Datenidentifikation für lesende Konfigurationsanfragen.
|
private DataDescription |
_dataDescriptionUserLocal
Datenidentifikation für Konfigurationsanfragen, die Benutzer beeinflussen.
|
private DataDescription |
_dataDescriptionWriteLocal
Datenidentifikation für schreibende Konfigurationsanfragen.
|
private Map<DynamicObjectType,InvalidationListener> |
_invalidationListenerForAllTyps
Enthält für jeden dynamischen Typ einen Listener.
|
private boolean |
_isRequestFromApplication
true, wenn der Kommunikationspartner eine normale Applikation ist; false, wenn der Kommunikationspartner eine andere Konfiguration ist |
(package private) Object |
_lock |
private Object |
_lockPublisher
Lockt die Zugriffe auf den Publisher.
|
private Set<DynamicObject> |
_monitoredDynamicObject
Enthält alle dynamischen Objekte, zu denen es einen
_invalidationListenerPublisher gibt. |
private Map<ConfigurationQueryManager.QueryHandler.PublishingMutableCollectionChangeListener,ConfigurationQueryManager.QueryHandler.PublishingMutableCollectionChangeListener> |
_mutableCollectionChangeHandlers
Map, die die angemeldeten Listener für Änderungen der Elemente von dynamischen Zusammenstellungen speichert, für Key und Value wird das selbe
Listener-Objekt verwendet.
|
private Map<DynamicObjectType,DynamicObjectType.NameChangeListener> |
_nameChangedListener
Enthält für jeden dynamischen Typ einen Listener.
|
private Map<DynamicObjectType,DynamicObjectType.DynamicObjectCreatedListener> |
_objectCreatedListener
Enthält für jeden dynamischen Typ einen Listener.
|
private ConfigurationQueryManager.QueryHandler.MutableSetChangePublisher |
_publisher
Objekt, welches bei dynamischen Mengen genutzt wird, um die Änderungen an diesen Mengen zu publizieren.
|
private Set<MutableSet> |
_publisherSets
Merkt sich alle dynamischen Mengen, bei denen ein Beobachter (MutableSetChangePublisher) angemeldet wurde.
|
(package private) UnboundedQueue<ResultData> |
_queries |
private SystemObject |
_querySender |
private SenderReceiverCommunication |
_senderReplyAreaTasks
Objekt, das den Versand von Konfigurationsanfragen(die Antwort darauf) übernimmt.
|
private SenderReceiverCommunication |
_senderReplyReadTasks
Objekt, das den Versand von Konfigurationsanfragen(die Antwort darauf) übernimmt.
|
private SenderReceiverCommunication |
_senderReplyUserAdministrationTask
Objekt, das den Versand von Konfigurationsanfragen(die Antwort darauf) übernimmt.
|
private SenderReceiverCommunication |
_senderReplyWriteTasks
Objekt, das den Versand von Konfigurationsanfragen(die Antwort darauf) übernimmt.
|
private ConfigSimulationObject |
_simulationObject
Objekt, das aus Sicht der Konfiguration eine Simulation darstellt.
|
private short |
_simulationVariant
Wird für Anmdeldung als Sender/Empfänger benötigt
|
(package private) Thread |
_worker |
| Constructor and Description |
|---|
ConfigurationQueryManager.QueryHandler(SystemObject querySender,
short simulationVariant,
ConfigSimulationObject simulationObject)
Bearbeitet Konfigurationsanfragen und reicht diese an das Datenmodell weiter und verschickt anschließend die Antwort.
|
| Modifier and Type | Method and Description |
|---|---|
private Collection<ConfigAreaAndVersion> |
createAreaAndVersion(Deserializer deserializer)
Ließt aus einem Deserializer Konfigurationsbereiche und zugehörige Versionen aus.
|
private DynamicObject |
createDynamicObject(ConfigConfigurationArea configurationArea,
DynamicObjectType type,
String pid,
String name,
List<DataAndATGUsageInformation> data,
boolean useOldCreateMethod)
Diese Methode erzeugt ein dynamisches Objekt.
|
private ObjectTimeSpecification |
deserializeObjectTimeSpecification(Deserializer deserializer)
Ließt aus einem Deserialisierer ein Objekt vom Typ ObjectTimeSpecification aus.
|
private void |
detachListener()
Meldet alle Listener ab, die auf Änderungen bei dynamischen Typen angemeldet waren.
|
private void |
detachSelf() |
private String |
generateErrorReply(Serializer serializer,
Exception exception) |
private short |
getInternalSimVariant(short externalSimVariant,
MutableCollection mutableCollection)
Ermittelt die Simulationsvariante für interne Anmeldungen auf Änderungen der Elemente von dynamischen Zusammenstellungen.
|
private void |
handleChangeElementsRequest(Deserializer deserializer,
Serializer serializer,
ObjectSet set,
boolean mutableSet,
boolean considerSimulationVariant)
Bearbeitet eine Anfrage vom Typ "DynamischeMengeElementeÄndern" oder "KonfigurierendeMengeElementeÄndern".
|
private void |
handleQuery(ResultData resultData) |
void |
run() |
private void |
serializeObjectList(Serializer serializer,
List<SystemObject> result)
Schreibt eine Liste mit Systemobjekten in eine Serializer.
|
private void |
transferConsistencyCheckResult(ConsistencyCheckResultInterface consistencyCheckResult,
Serializer serializer)
Schreibt das Ergebnis einer Konsistenzprüfung in einen Serialisierer.
|
private void |
transferList(List<ConsistencyCheckResultEntry> errorOrWarning,
Serializer serializer)
Schreibt eine Liste, die lokale/Interferenzfehler oder Warnungen enthält in einen Serializer.
|
private void |
writeSystemObject(Serializer serializer,
SystemObject systemObject,
long queryId,
String queryPid)
Deprecated.
|
private final SystemObject _querySender
private boolean _isRequestFromApplication
true, wenn der Kommunikationspartner eine normale Applikation ist; false, wenn der Kommunikationspartner eine andere Konfiguration istThread _worker
UnboundedQueue<ResultData> _queries
Object _lock
private Object _lockPublisher
private ConfigurationQueryManager.QueryHandler.MutableSetChangePublisher _publisher
private Set<MutableSet> _publisherSets
private Set<DynamicObject> _monitoredDynamicObject
_invalidationListenerPublisher gibt.private final SenderReceiverCommunication _senderReplyReadTasks
private final SenderReceiverCommunication _senderReplyWriteTasks
private final SenderReceiverCommunication _senderReplyAreaTasks
private final SenderReceiverCommunication _senderReplyUserAdministrationTask
private final DataDescription _dataDescriptionReadLocal
private final DataDescription _dataDescriptionWriteLocal
private final DataDescription _dataDescriptionAreaLocal
private final DataDescription _dataDescriptionUserLocal
private final short _simulationVariant
private ConfigSimulationObject _simulationObject
_simulationVariant > 0, so muss dieses Objekt vorhanden sein.private final Map<DynamicObjectType,InvalidationListener> _invalidationListenerForAllTyps
private final Map<DynamicObjectType,DynamicObjectType.NameChangeListener> _nameChangedListener
private final Map<DynamicObjectType,DynamicObjectType.DynamicObjectCreatedListener> _objectCreatedListener
private Map<ConfigurationQueryManager.QueryHandler.PublishingMutableCollectionChangeListener,ConfigurationQueryManager.QueryHandler.PublishingMutableCollectionChangeListener> _mutableCollectionChangeHandlers
private HashMap<ConfigurationQueryManager.QueryHandler.PublishingCommunicationStateListener,ConfigurationQueryManager.QueryHandler.PublishingCommunicationStateListener> _communicationChangedHandlers
public ConfigurationQueryManager.QueryHandler(SystemObject querySender, short simulationVariant, ConfigSimulationObject simulationObject)
querySender - Applikation, die die Anfragen gestellt hatsimulationVariant - Simulationsvariante, mit der die Antworten angemeldet werden. Ist die Simulationsvariante > 0, so muss auch das Objekt
simulationObject übergeben werden.simulationObject - Objekt, über das zusätzliche Informationen über eine Simulation abgefragt werden können. Dieses Objekt kann auch null
sein, falls der Parameter simulationVariant kleiner/gleich 0 ist.private void detachListener()
private void detachSelf()
private void handleQuery(ResultData resultData)
@Deprecated private void writeSystemObject(Serializer serializer, SystemObject systemObject, long queryId, String queryPid) throws IOException, ConfigurationException
IOExceptionConfigurationExceptionprivate String generateErrorReply(Serializer serializer, Exception exception) throws IOException
IOExceptionprivate short getInternalSimVariant(short externalSimVariant,
MutableCollection mutableCollection)
externalSimVariant - Von außen vorgegebene Simulationsvariante.mutableCollection - Dynamische Menge oder dynamischer Typ für den die interne Simulationsvariante ermittelt werden soll.private void serializeObjectList(Serializer serializer, List<SystemObject> result) throws IOException
serializer - Serialisierer, in den die Daten geschrieben werden.result - Liste, die geschrieben werden soll. Wird null übergeben, so wird für die Länge der Liste eine 0 geschrieben.IOException - Fehler beim schreiben der Datenprivate void handleChangeElementsRequest(Deserializer deserializer, Serializer serializer, ObjectSet set, boolean mutableSet, boolean considerSimulationVariant) throws IOException, ConfigurationChangeException
deserializer - Enthält den Auftragserializer - In dieses Objekt wird die Antwort geschriebenset - Menge (dynamisch oder konfigurierend)mutableSet - true = Es handelt sich um eine dynamische MengeconsiderSimulationVariant - true = Die Simulationsvariante muss berücksichtigt werden (dieser Parameter ist nur für dynamische Mengen wichtig)IOExceptionConfigurationChangeExceptionprivate ObjectTimeSpecification deserializeObjectTimeSpecification(Deserializer deserializer) throws IOException
deserializer - IOExceptionprivate Collection<ConfigAreaAndVersion> createAreaAndVersion(Deserializer deserializer) throws IOException
deserializer - s.o.IOExceptionprivate void transferConsistencyCheckResult(ConsistencyCheckResultInterface consistencyCheckResult, Serializer serializer) throws IOException
consistencyCheckResult - Ergebnis der Prüfungserializer - In diesen Serialisierer wird das Ergebnis der Prüfung geschriebenIOExceptionprivate void transferList(List<ConsistencyCheckResultEntry> errorOrWarning, Serializer serializer) throws IllegalArgumentException, IOException
errorOrWarning - Fehler oder Warnungen. Enthält die Liste keine Einträge, wird eine Exception geworfenserializer - Serializer, in den die Fehler, bzw. Warnungen geschrieben werdenIllegalArgumentException - Die Liste enthält keine EinträgeIOExceptionprivate DynamicObject createDynamicObject(ConfigConfigurationArea configurationArea, DynamicObjectType type, String pid, String name, List<DataAndATGUsageInformation> data, boolean useOldCreateMethod) throws ConfigurationChangeException
configurationArea - Bereich an dem das Objekt angelegt werden solltype - Typ des neuen Objekts.pid - Pid des neuen Objektsname - Name des neuen Objektsdata - Alle Datensätze, die am neuen Objekt angelegt werden sollen. Es kann eine leere Liste oder null übergeben werden.useOldCreateMethod - true, wenn die alte "Create-Methode" benutzt werden soll. Die alte create-Methode prüft DERZEIT((29.6.2007) das soll
später anders sein) nicht, ob alle Datensätze am neuen Objekt vorhanden sind, die vorhanden sein müssen. false, es
wird die neue create-Methode benutzt und somit geprüft, ob alle geforderten Datensätze vorhanden sind. Wurde die Software
umgestellt(es muss immer gerpüft werden), kann dieser Parameter sehr wahrscheinlich entfernt werden.ConfigurationChangeException - Die Konfiguration kann das neue Objekt nicht anlegen (mangelnde Rechte, eine Simuluation darf keine Typen dieser
Objekte anlegen, usw.).