|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.puk.config.main.communication.query.ConfigurationQueryManager.QueryHandler
private class ConfigurationQueryManager.QueryHandler
Nested Class Summary | |
---|---|
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. |
Field Summary | |
---|---|
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 Summary | |
---|---|
ConfigurationQueryManager.QueryHandler(SystemObject querySender,
short simulationVariant,
ConfigSimulationObject simulationObject)
Bearbeitet Konfigurationsanfragen und reicht diese an das Datenmodell weiter und verschickt anschließend die Antwort. |
Method Summary | |
---|---|
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 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)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final SystemObject _querySender
private boolean _isRequestFromApplication
true
, wenn der Kommunikationspartner eine normale Applikation ist; false
, wenn der Kommunikationspartner eine andere Konfiguration ist
Thread _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
Constructor Detail |
---|
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.Method Detail |
---|
private void detachListener()
private void detachSelf()
private void handleQuery(ResultData resultData)
public void run()
run
in interface Runnable
private 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)
IOException
ConfigurationChangeException
private ObjectTimeSpecification deserializeObjectTimeSpecification(Deserializer deserializer) throws IOException
deserializer
-
IOException
private Collection<ConfigAreaAndVersion> createAreaAndVersion(Deserializer deserializer) throws IOException
deserializer
- s.o.
IOException
private void transferConsistencyCheckResult(ConsistencyCheckResultInterface consistencyCheckResult, Serializer serializer) throws IOException
consistencyCheckResult
- Ergebnis der Prüfungserializer
- In diesen Serialisierer wird das Ergebnis der Prüfung geschrieben
IOException
private 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 werden
IllegalArgumentException
- Die Liste enthält keine Einträge
IOException
private void writeSystemObject(Serializer serializer, SystemObject systemObject, long queryId, String queryPid) throws IOException, ConfigurationException
IOException
ConfigurationException
private 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.).
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |