|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.puk.config.configFile.fileaccess.ConfigFileManager
public class ConfigFileManager
Diese Methode stellt Konfigurationsbereiche zur Verfügung und verwaltet den Zugriff auf diese. Der Zugriff bezieht sich dabei auf die Dateien selber (Anlegen, Daten speichern, usw.), aber auch auf die dynamischen Objekte/Konfigurationsobjekte der einzelnen Bereiche.
Nested Class Summary | |
---|---|
private static class |
ConfigFileManager.LoadInformations
Diese Klasse speichert alle Informationen, die nötig sind um ein als "ungültig" markiertes Objekt nachträglich komplett aus einer Datei in den Hauptspeicher zu laden. |
Field Summary | |
---|---|
private Map<String,ConfigurationAreaFile> |
_configurationFiles
HashMap, die alle Dateien und somit Konfigurationsbereiche verwaltet. |
private static Debug |
_debug
DebugLogger für Debug-Ausgaben |
private Map<Long,Object> |
_idMap
Speichert "alle" Objekte, aller Konfigurationsbereiche. |
private Map<String,SystemObjectInformationInterface> |
_pidMapActive
Speichert alle aktiven Objekte, aller Konfigurationsbereiche. |
private Map<String,Set<SystemObjectInformationInterface>> |
_pidMapNew
Speichert alle noch nicht aktiven Objekte, aller Konfigurationsbereiche. |
private Map<Integer,Set<ConfigFileManager.LoadInformations>> |
_pidMapOld
Speichert zu dem HashCode einer Pid eine Menge von Objekten. |
private Map<Short,Set<DynamicObjectInformation>> |
_simulationObjects
Speichert zu einer Simulationsvariante alle dynamischen Objekte. |
Constructor Summary | |
---|---|
ConfigFileManager()
|
Method Summary | |
---|---|
ConfigurationAreaFile |
addAreaFile(String configurationAreaPid,
File configurationAreaDir,
short activeVersion,
List<VersionInfo> localVersionTimes)
Der aktuellen Konfiguration wird der angegebene Konfigurationsbereich hinzugefügt. |
void |
close()
Diese Methode wird aufgerufen, wenn ein System heruntegefahren werden soll. |
ConfigurationAreaFile |
createAreaFile(String configurationAreaPid,
File configurationAreaDir)
Diese Methode erstellt zu einem neuen Konfigurationsbereich eine Konfigurationsdatei. |
SystemObjectInformationInterface |
getActiveObject(long id)
|
SystemObjectInformationInterface |
getActiveObject(String pid)
Diese Methode gibt ein Objekt zurück, das derzeit in einem Konfigurationsbereich aktiv ist. |
ConfigurationAreaFile |
getAreaFile(String configurationAreaPid)
Diese Methode gibt ein Objekt zurück, das den Konfigurationsbereich darstellt. |
ConfigurationAreaFile[] |
getConfigurationAreas()
Diese Methode gibt alle Konfigurationsbereiche zurück, die mit ConfigurationFileManager.addAreaFile(java.lang.String, java.io.File, short, java.util.List eingefügt wurden. |
SystemObjectInformationInterface[] |
getNewObjects(String pid)
Diese Methode gibt alle Objekte zurück, die derzeit in einem Konfigurationsbereich weder aktiv noch als ungültig markiert sind. |
SystemObjectInformationInterface |
getObject(long id)
Gibt ein Objekt zurück, das über die Id identifiziert wird. |
List<DynamicObjectInfo> |
getObjects(short simulationVariant)
Diese Methode gibt alle dynamischen Objekte zurück, die zu einer Simulationsvariante gehören. |
SystemObjectInformationInterface |
getOldObject(long id)
|
SystemObjectInformationInterface[] |
getOldObjects(String pid,
long startTime,
long endTime)
Diese Methode gibt alle Objekte zurück, die in einem Konfigurationsbereich als ungültig markiert sind und die im angegebnen Zeitbereich ungültig geworden sind. |
private SystemObjectInformationInterface |
loadOldObject(ConfigFileManager.LoadInformations oldObject)
Lädt ein als ungültig markiertes Objekt in den Hauptspeicher |
(package private) void |
newObjectCreated(SystemObjectInformationInterface newObjectInfo)
Diese Methode wird aufgerufen, wenn ein neues dynamisches Objekt oder Konfigurationsobjekt zu einem Konfigurationsbreich hinzugefügt wurde. |
private void |
putActiveObjectPidHashMap(SystemObjectInformationInterface object)
Legt ein Objekt in der Map ab, die alle Pids, aller aktiven Objekte verwaltet. |
private void |
putNewObjectPidHashMap(SystemObjectInformationInterface object)
|
private void |
putObjectId(Long id,
ConfigFileManager.LoadInformations object)
|
private void |
putObjectId(SystemObjectInformationInterface object)
|
private void |
putOldObjectPidHashMap(int pidHashCode,
ConfigFileManager.LoadInformations loadInformations)
|
(package private) void |
putSimulationObject(DynamicObjectInformation dynamicObjectInformation)
Fügt ein dynamisches Objekt mit einer Simulationsvariante größer 0 in eine Map ein. |
private void |
removeActiveObjectPidHashMap(DynamicObjectInfo dynamicObjectInfo)
Entfernt ein Objekt aus der Map, die alle Pids der aktiven Objekte verwaltet. |
(package private) void |
removeDynamicSimulationObject(DynamicObjectInformation dynamicObjectInformation)
Entfernt ein dynamisches Objekt mit einer Simulationvariante größer 0 aus allen Datenstrukturen, die zum schnellen Zugriff auf Objekte angelegt wurden. |
(package private) void |
removeNewObject(ConfigurationObjectInfo object)
Entfernt ein Objekt, das in zukünftig gültig sein wird, aus den Datenstrukturen des Objekts dieser Klasse. |
(package private) void |
removeObject(long id)
Entfernt ein Objekt aus der Datenstruktur, die den schnellen Zugriff mittels Id auf Objekte zuläßt. |
private void |
removeObjectPidMapOld(DynamicObjectInformation dynamicObjectInformation)
Entfernt die Ladeinformtionen eines dynamischen Objekts, aus der Map, die alle alten dynamsichen Objekte der Mischmenge enthält. |
private void |
removeSimulationObjectFromMap(DynamicObjectInformation dynamicObjectInformation)
Entfernt ein dynamisches Objekt aus der Datenstruktur, die alle dynamischen Objekte über Simulationsvariante verwaltet. |
void |
saveConfigurationAreaFiles()
Methode, die alle Konfigurationsbreiche speichert. |
(package private) void |
setDynamicObjectInvalid(DynamicObjectInformation oldDynamicObject)
Ein dynamisches Objekt wird ungültig (Konfigurationsobjekte müssen nicht beachtet werden, da sie erst beim nächsten Neustart ungültig werden) |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final Debug _debug
private final Map<Long,Object> _idMap
private final Map<String,SystemObjectInformationInterface> _pidMapActive
private final Map<String,Set<SystemObjectInformationInterface>> _pidMapNew
private final Map<Integer,Set<ConfigFileManager.LoadInformations>> _pidMapOld
private final Map<String,ConfigurationAreaFile> _configurationFiles
private final Map<Short,Set<DynamicObjectInformation>> _simulationObjects
Constructor Detail |
---|
public ConfigFileManager()
Method Detail |
---|
public ConfigurationAreaFile createAreaFile(String configurationAreaPid, File configurationAreaDir) throws IllegalArgumentException, IOException, NoSuchVersionException
createAreaFile
in interface ConfigurationFileManager
configurationAreaPid
- die Pid des neuen KonfigurationsbereichsconfigurationAreaDir
- das Verzeichnis, in dem die Konfigurationsdatei angelegt werden soll
IllegalArgumentException
- Falls die Argumente ungültig sind.
IOException
- Falls Fehler im Zusammenhang mit der Datei des Konfigurationsbereichs auftreten.
NoSuchVersionException
- TBDpublic ConfigurationAreaFile addAreaFile(String configurationAreaPid, File configurationAreaDir, short activeVersion, List<VersionInfo> localVersionTimes) throws IllegalArgumentException, IOException, NoSuchVersionException
addAreaFile
in interface ConfigurationFileManager
configurationAreaPid
- die Pid des KonfigurationsbereichsconfigurationAreaDir
- das Verzeichnis, in dem die Konfigurationsdatei gespeichert wurde. Diese Verzeichnis wird benutzt um den Bereich zu laden.activeVersion
- die aktuelle Version des KonfigurationsbereichslocalVersionTimes
- Diese Liste speichert zu jeder Version, die jemals aktiviert wurde, den Zeitpunkt an dem die Version aktiviert wurde. Die
Zeitpunkte beziehen sich auf den Zeit, an dem sie auf der Konfiguration, die diese Methode aufruft, aktiviert wurden.
IllegalArgumentException
- Falls der Konfigurationsbereich mit der Pid bereits zur Konfiguration hinzugefügt wurde.
IllegalStateException
- Datei existiert nicht
IOException
- TBD
NoSuchVersionException
- TBDprivate void putActiveObjectPidHashMap(SystemObjectInformationInterface object)
object
- Objekt, das in die Map aufgenommen werden sollprivate void removeActiveObjectPidHashMap(DynamicObjectInfo dynamicObjectInfo)
dynamicObjectInfo
- Objekt, das aus der Map entfernt werden sollprivate void putNewObjectPidHashMap(SystemObjectInformationInterface object)
private void putOldObjectPidHashMap(int pidHashCode, ConfigFileManager.LoadInformations loadInformations)
public ConfigurationAreaFile getAreaFile(String configurationAreaPid)
ConfigurationFileManager
getAreaFile
in interface ConfigurationFileManager
configurationAreaPid
- Pid des Konfigurationsbereichs
null
zurückgegeben.public SystemObjectInformationInterface getObject(long id)
ConfigurationFileManager
ConfigurationFileManager.addAreaFile(java.lang.String, java.io.File, short, java.util.List)
hinzugefügt
wurden.
getObject
in interface ConfigurationFileManager
id
- Id des Objekts
null
falls kein Objekt gefunden werden konntevoid removeObject(long id)
id
- Id des Objekts, das entfernt werden sollvoid removeDynamicSimulationObject(DynamicObjectInformation dynamicObjectInformation)
dynamicObjectInformation
- Objekt, das entfernt werden sollprivate void removeObjectPidMapOld(DynamicObjectInformation dynamicObjectInformation)
dynamicObjectInformation
- Objekt, das entfernt werden sollpublic SystemObjectInformationInterface getActiveObject(long id)
public SystemObjectInformationInterface getActiveObject(String pid)
ConfigurationFileManager
ConfigurationFileManager.addAreaFile(java.lang.String, java.io.File, short, java.util.List)
hinzugefügt wurden.
getActiveObject
in interface ConfigurationFileManager
pid
- Pid des Objekts, das gesucht werden soll
null
falls kein Objekt existiertpublic SystemObjectInformationInterface[] getNewObjects(String pid)
ConfigurationFileManager
ConfigurationFileManager.addAreaFile(java.lang.String, java.io.File, short, java.util.List)
hinzugefügt wurden.
getNewObjects
in interface ConfigurationFileManager
pid
- pid der gesuchten Objekte
public SystemObjectInformationInterface getOldObject(long id)
id
-
null
falls nicht vorhandenprivate SystemObjectInformationInterface loadOldObject(ConfigFileManager.LoadInformations oldObject)
oldObject
- Objekt, das alle Informationen zum laden des Objekts enthält
public SystemObjectInformationInterface[] getOldObjects(String pid, long startTime, long endTime)
ConfigurationFileManager
ConfigurationFileManager.addAreaFile(java.lang.String, java.io.File, short, java.util.List)
hinzugefügt wurden.
getOldObjects
in interface ConfigurationFileManager
pid
- pid des gesuchten ObjektsstartTime
- Startzeitpunkt des BereichsendTime
- Endzeitpunkt des Bereichs
public ConfigurationAreaFile[] getConfigurationAreas()
ConfigurationFileManager
ConfigurationFileManager.addAreaFile(java.lang.String, java.io.File, short, java.util.List)
eingefügt wurden.
getConfigurationAreas
in interface ConfigurationFileManager
void putSimulationObject(DynamicObjectInformation dynamicObjectInformation)
dynamicObjectInformation
- Objekt, das eingetragen werden sollprivate void removeSimulationObjectFromMap(DynamicObjectInformation dynamicObjectInformation)
dynamicObjectInformation
- Objekt, das entfernt werden sollpublic List<DynamicObjectInfo> getObjects(short simulationVariant) throws IllegalArgumentException
ConfigurationFileManager
getObjects
in interface ConfigurationFileManager
simulationVariant
- Simulationsvariante, für die alle dynamischen Objekte zurückgegeben werden sollen. (Wertebereich 1...999)
IllegalArgumentException
void newObjectCreated(SystemObjectInformationInterface newObjectInfo)
newObjectInfo
- void setDynamicObjectInvalid(DynamicObjectInformation oldDynamicObject)
oldDynamicObject
- Objekt, das ungültig wurdevoid removeNewObject(ConfigurationObjectInfo object)
object
- Objekt, das aus allen Datenstrukturen entfernt werden sollprivate void putObjectId(SystemObjectInformationInterface object)
private void putObjectId(Long id, ConfigFileManager.LoadInformations object)
public void saveConfigurationAreaFiles() throws IOException
saveConfigurationAreaFiles
in interface ConfigurationFileManager
IOException
- Es ist beim speichern der Versorgungsdateien zu einem Fehler gekommen. Es wurde trotz des Fehlers bei jeder Datei ConfigurationAreaFile.flush()
aufgerufen. Die zuletzt aufgetretene IOException
wird zurückgegeben.public void close()
ConfigurationFileManager
ConfigurationFileManager.saveConfigurationAreaFiles()
und stellt einen Zustand her in dem das System wieder gestartet werden kann.
close
in interface ConfigurationFileManager
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |