|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.puk.config.configFile.datamodel.AbstractConfigSystemObject
de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject
de.bsvrz.puk.config.configFile.datamodel.ConfigConfigurationObject
de.bsvrz.puk.config.configFile.datamodel.ConfigConfigurationArea
public class ConfigConfigurationArea
Implementierung des Konfigurationsbereichs auf Seiten der Konfiguration.
Nested Class Summary | |
---|---|
(package private) static class |
ConfigConfigurationArea.KindOfLastChange
Mit diesem Enum kann angegeben werden, ob ein dynamisches Objekt, ein Konfigurationsobjekt oder ein konfigurierender Datensatz geändert wurde. |
Field Summary | |
---|---|
private List<ConfigurationAreaDependency> |
_areaDependencyList
Diese Liste enthält alle Abhängigkeiten des Bereichs. |
private AttributeGroupUsage |
_atguForDependencies
Mit dieser Verwendung kann ein Datensatz engefordert werden, der die Abhängigkeiten dieses Bereichs enthält. |
private ConfigurationAuthority |
_configurationAuthority
Konfigurationsverantwortlicher dieses Konfigurationsbereichs. |
private DataModel |
_dataModel
Eine Referenz auf das Datenmodell. |
private static Debug |
_debug
DebugLogger für Debug-Ausgaben |
Fields inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject |
---|
_systemObjectInfo |
Constructor Summary | |
---|---|
ConfigConfigurationArea(DataModel dataModel,
SystemObjectInformationInterface systemObjectInfo)
Konstruktor eines System-Objekt für einen Konfigurationsbereich. |
Method Summary | |
---|---|
void |
addAreaDependency(Collection<ConfigurationAreaDependency> areaDependencies)
Speichert eine Abhängigkeit dieses Bereichs. |
private void |
checkNameLength(String name)
Prüft, ob ein Name länger als 255 Zeichen ist. |
private void |
checkPidLength(String pid)
Prüft, ob die Pid länger als 255 Zeichen ist. |
private void |
createConfigurationDataForSets(ConfigurationObjectInfo objectInfo,
List<ObjectSet> sets,
int serializerVersion)
Speichert die angegebenen Mengen an einem Konfigurationsobjekt. |
ConfigurationObject |
createConfigurationObject(ConfigurationObjectType type,
String pid,
String name,
List<ObjectSet> sets)
|
DynamicObject |
createDynamicObject(DynamicObjectType type,
String pid,
String name)
|
DynamicObject |
createDynamicObject(DynamicObjectType type,
String pid,
String name,
Collection<DataAndATGUsageInformation> data)
|
DynamicObject |
createDynamicObject(DynamicObjectType type,
String pid,
String name,
Collection<DataAndATGUsageInformation> data,
short simulationVariant)
Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs mit einer angegebenen PID. |
private DynamicObject |
createDynamicObject(DynamicObjectType type,
String pid,
String name,
Collection<DataAndATGUsageInformation> data,
short simulationVariant,
boolean checkDatasets)
Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs mit einer angegebenen PID. |
DynamicObject |
createDynamicObject(DynamicObjectType type,
String pid,
String name,
short simulationVariant)
Erzeugt ein neues dynamisches System-Objekt eines vorgegebenen Typs mit einer angegebenen PID. |
private ConfigurationAreaDependency |
createRequiredDependence(ConfigurationAreaDependency areaDependence)
Erzeugt eine neue Abhängigkeit die "notwendig" ist. |
boolean |
dependenciesChecked()
|
private boolean |
equalsConfigurationAreaDependancy(ConfigurationAreaDependency first,
ConfigurationAreaDependency second)
Prüft, ob zwei Abhängigkeiten identisch sind. |
short |
getActivatableVersion()
|
short |
getActiveVersion()
|
Collection<ConfigurationAreaChangeInformation> |
getChangeLogs()
Diese Methode gibt alle eingetragenen Konfigurationsänderungen zurück, die in der Versorgungsdatei eingetragen wurden. |
ConfigurationArea |
getConfigurationArea()
|
ConfigurationAuthority |
getConfigurationAuthority()
|
Collection<SystemObject> |
getCurrentObjects()
|
DataModel |
getDataModel()
|
Collection<ConfigurationAreaDependency> |
getDependencyFromOtherConfigurationAreas()
Gibt alle Abhängigkeiten des Bereichs zu anderen Konfigurationsbereichen zurück. |
Collection<SystemObject> |
getDirectObjects(Collection<SystemObjectType> systemObjectTypes,
ObjectTimeSpecification timeSpecification)
|
short |
getLastModifiedVersion()
Gibt die in Bearbeitung befindliche Version zurück, wenn Änderungen in dieser Version dieses Bereichs stattgefunden haben. |
short |
getModifiableVersion()
|
Collection<SystemObject> |
getNewObjects()
|
Collection<SystemObject> |
getObjects(Collection<SystemObjectType> systemObjectTypes,
ObjectTimeSpecification timeSpecification)
|
(package private) long |
getTimeAtAssignedVersion(short version)
Gibt die Aktivierungszeit dieses Konfigurationsbereichs zur angegebenen Versionsnummer zurück. |
long |
getTimeOfLastActiveConfigurationChange()
|
long |
getTimeOfLastDynamicChange()
|
long |
getTimeOfLastNonActiveConfigurationChange()
|
short |
getTransferableVersion()
|
(package private) short |
getVersionAtAssignedTime(long time)
Gibt die Versionsnummer dieses Konfigurationsbereichs zurück, die zur angegebenen Zeit aktiv war. |
private boolean |
hasNewStateInformation(ConfigurationAreaDependency oldAreaDependency,
ConfigurationAreaDependency newerAreaDependency)
Prüft, ob die Art der Abhängigkeite eine neue Information enthält. |
private boolean |
hasNewVersionInformation(ConfigurationAreaDependency oldAreaDependency,
ConfigurationAreaDependency newerAreaDependency)
Diese Methode prüft, ob eine Abhängigkeit gegenüber einer anderen Abhängigkeite neuere Informationen enthält, bei diesem Vergleich wird die Art der Abhängigkeit nicht berücksichtigt. |
void |
initialiseTimeOfLastChanges()
Prüft, ob es einen Wert im Datensatz atg.konfigurationsBereichÄnderungsZeiten gibt, der Undefiniert (0) ist, und ersetzt diesen
mit der aktuellen Zeit. |
private void |
loadDependencyDataSets()
Diese Methode lädt alle Abhängigkeiten aus dem Datensatz _atguForDependancies in die_areaDependencyList . |
(package private) void |
setActivatableVersion(short activatableVersion)
Setzt die Version, die zur Übernahme und Aktivierung dieses Konfigurationsbereichs in anderen Konfigurationen freigegeben werden soll. |
(package private) void |
setTimeOfLastChanges(ConfigConfigurationArea.KindOfLastChange kind)
Wurde ein dynamisches Objekt, ein Konfigurationsobjekt (welches noch nicht aktiviert ist) oder ein änderbarer konfigurierender Datensatz geändert, so wird die Änderungszeit in dem Attribut des Datensatzes eingetragen und abgespeichert. |
(package private) void |
setTransferableVersion(short transferableVersion)
Setzt die Version, die zur Übernahme dieses Konfigurationsbereichs in anderen Konfigurationen freigegeben werden soll. |
private void |
writeDependencyDataSet(Collection<ConfigurationAreaDependency> areaDependencies)
Schreibt einen Datensatz, der alle Abhängigkeiten dieses Bereich zu anderen Bereichen speichert. |
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigConfigurationObject |
---|
addSet, directDuplicate, directModification, duplicate, duplicate, getMutableSet, getNonMutableSet, getNotValidSince, getObjectSet, getObjectSets, getValidSince, invalidate, isValid, removeSet, revalidate, simpleRevalidate |
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.ConfigSystemObject |
---|
checkChangePermit, createConfigurationData, equals, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationData, getConfigurationDataBytes, getId, getName, getPid, getSerializerVersion, getType, getUsedAttributeGroupUsages, hashCode, removeConfigurationData, setConfigurationData, setConfigurationData, setName, simpleInvalidation |
Methods inherited from class de.bsvrz.puk.config.configFile.datamodel.AbstractConfigSystemObject |
---|
compareTo, getConfigurationData, getInfo, getNameOrPidOrId, getPidOrId, getPidOrNameOrId, isOfType, isOfType, setConfigurationData, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final Debug _debug
private final DataModel _dataModel
private ConfigurationAuthority _configurationAuthority
private final List<ConfigurationAreaDependency> _areaDependencyList
private final AttributeGroupUsage _atguForDependencies
null
, so ist die
benötigte ATG nicht bekannt und der Mechanismus wird nicht benutzt.
Constructor Detail |
---|
public ConfigConfigurationArea(DataModel dataModel, SystemObjectInformationInterface systemObjectInfo)
dataModel
- das Datenmodell, welches alle Konfigurationsbereiche enthältsystemObjectInfo
- das korrespondierende Objekt aus den KonfigurationsdateienMethod Detail |
---|
public DataModel getDataModel()
getDataModel
in interface SystemObject
getDataModel
in class AbstractConfigSystemObject
public ConfigurationArea getConfigurationArea()
getConfigurationArea
in interface SystemObject
getConfigurationArea
in class AbstractConfigSystemObject
public ConfigurationAuthority getConfigurationAuthority()
getConfigurationAuthority
in interface ConfigurationArea
public short getActivatableVersion()
getActivatableVersion
in interface ConfigurationArea
void setActivatableVersion(short activatableVersion) throws ConfigurationChangeException
activatableVersion
- die Versionsnummer, die zur Übernahme und Aktivierung dieses Konfigurationsbereichs freigegeben werden soll
ConfigurationChangeException
- Falls die Versionsnummer nicht am Konfigurationsbereich gespeichert werden kann.public short getTransferableVersion()
getTransferableVersion
in interface ConfigurationArea
void setTransferableVersion(short transferableVersion) throws ConfigurationChangeException
transferableVersion
- die Versionsnummer, die zur Übernahme dieses Konfigurationsbereichs freigegeben werden soll
ConfigurationChangeException
- Falls die Versionsnummer nicht am Konfigurationsbereich gespeichert werden kann.public short getActiveVersion()
getActiveVersion
in interface ConfigurationArea
public short getModifiableVersion()
getModifiableVersion
in interface ConfigurationArea
public short getLastModifiedVersion()
public long getTimeOfLastDynamicChange()
getTimeOfLastDynamicChange
in interface ConfigurationArea
public long getTimeOfLastNonActiveConfigurationChange()
getTimeOfLastNonActiveConfigurationChange
in interface ConfigurationArea
public long getTimeOfLastActiveConfigurationChange()
getTimeOfLastActiveConfigurationChange
in interface ConfigurationArea
public Collection<SystemObject> getObjects(Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification timeSpecification)
getObjects
in interface ConfigurationArea
public Collection<SystemObject> getDirectObjects(Collection<SystemObjectType> systemObjectTypes, ObjectTimeSpecification timeSpecification)
getDirectObjects
in interface ConfigurationArea
public Collection<SystemObject> getCurrentObjects()
getCurrentObjects
in interface ConfigurationArea
public Collection<SystemObject> getNewObjects()
getNewObjects
in interface ConfigurationArea
public ConfigurationObject createConfigurationObject(ConfigurationObjectType type, String pid, String name, List<ObjectSet> sets) throws ConfigurationChangeException
createConfigurationObject
in interface ConfigurationArea
ConfigurationChangeException
public DynamicObject createDynamicObject(DynamicObjectType type, String pid, String name) throws ConfigurationChangeException
createDynamicObject
in interface ConfigurationArea
ConfigurationChangeException
public DynamicObject createDynamicObject(DynamicObjectType type, String pid, String name, short simulationVariant) throws ConfigurationChangeException
type
- Typ des neuen Objektspid
- PID des neuen Objekts. Der leere String ("") oder null
wird als "keine PID" interpretiert.name
- Name des neuen Objekts (kann später verändert werden)simulationVariant
- Simulationsvariante des neuen Objekts
ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.public DynamicObject createDynamicObject(DynamicObjectType type, String pid, String name, Collection<DataAndATGUsageInformation> data) throws ConfigurationChangeException
createDynamicObject
in interface ConfigurationArea
ConfigurationChangeException
public Collection<ConfigurationAreaDependency> getDependencyFromOtherConfigurationAreas()
ConfigConfigurationAreaInterface
getDependencyFromOtherConfigurationAreas
in interface ConfigConfigurationAreaInterface
private boolean hasNewVersionInformation(ConfigurationAreaDependency oldAreaDependency, ConfigurationAreaDependency newerAreaDependency)
oldAreaDependency
- Abhängigkeit mit vermeindlich älteren InformationennewerAreaDependency
- Abhängigkeit mit vermeindlich neueren Informationen als oldAreaDependency
true
, wenn newerAreaDependency neuere Informationen enthält als oldAreaDependency
; false
, sonst.private boolean hasNewStateInformation(ConfigurationAreaDependency oldAreaDependency, ConfigurationAreaDependency newerAreaDependency)
oldAreaDependency
- Abhängigkeit, die bisher gespeichert wurde.newerAreaDependency
- Abhängigkeit, die vielleicht gespeichert werden soll
true
, wenn die neue Abhängigkeite neue Informationen enthält; false
, sonst.private ConfigurationAreaDependency createRequiredDependence(ConfigurationAreaDependency areaDependence)
areaDependence
- Abhängigkeit, die kopiert wird.
areaDependence
mit der Eigenschaft notwendig.public void addAreaDependency(Collection<ConfigurationAreaDependency> areaDependencies) throws ConfigurationChangeException
ConfigurationAreaDependencyKind
und es soll eine Abhängigkeit REQUIRED gespeichert werden,
so wird die optionale Abhängigkeit ersetzt. Umgekehrt ist dies nicht möglich.
Ist der Bereich bereits von einem anderen Bereich abhängig (notwendig) und es soll eine Abhängigkeit optional hinzugefügt werden (dessen needed Version >
als die notwendige Abhängigkeit), so wird diese Abhängigkeit automatisch auf "notwendig" gesetzt. Damit wird verhindert, das eine Abhängigkeit, die
notwendig war, durch Versionswechsel wieder auf optional gesetzt werden kann.
Ist der Konfiguration die Attributgruppe zum speichern der Datensätze nicht bekannt, so die Abhängigkeiten ignoriert und nichts gemacht.
areaDependencies
- Abhängigkeiten, die gespeichert werden soll.
ConfigurationChangeException
- Wird geworfen, wenn der Datensatz, der die Abhängigkeiten enthält, nicht gespeichert werden kann.public boolean dependenciesChecked()
dependenciesChecked
in interface ConfigConfigurationAreaInterface
true
, wenn der Bereich bereits auf Abhängigkeiten geprüft wurde; false
, wenn der Bereich nicht auf Abhängigkeiten geprüft
wurde.private void writeDependencyDataSet(Collection<ConfigurationAreaDependency> areaDependencies) throws ConfigurationChangeException
areaDependencies
- Neue Abhängigkeiten, die am Ende des Datensatzes (Array) eingefügt werden sollen.
ConfigurationChangeException
- Der Datensatz darf nicht geändert werden, weil der Konfigurationsverantwortliche der Konfiguration keinen Zugriff auf diesen Bereich hat.private void loadDependencyDataSets()
_atguForDependancies
in die_areaDependencyList
.
Der Datensatz speichert die Abhängigkeiten in der Reihenfolge LIFO. Der letzte und damit neuste Eintrag befindet sich am Ende.
private boolean equalsConfigurationAreaDependancy(ConfigurationAreaDependency first, ConfigurationAreaDependency second)
first
- Erster Bereichsecond
- Zweiter Bereich
true
, wenn die beiden Bereiche unter Berücksichtigung der Parameter logisch identisch sind.public Collection<ConfigurationAreaChangeInformation> getChangeLogs()
public DynamicObject createDynamicObject(DynamicObjectType type, String pid, String name, Collection<DataAndATGUsageInformation> data, short simulationVariant) throws ConfigurationChangeException
type
- Typ des neuen Objektspid
- PID des neuen Objekts. Der leere String ("") oder null
wird als "keine PID" interpretiert.name
- Name des neuen Objekts (kann später verändert werden)data
- Datensätze für das dynamische ObjektsimulationVariant
- Simulationsvariante des neuen Objekts
ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.private void checkNameLength(String name) throws ConfigurationChangeException
name
- Name oder null
ConfigurationChangeException
- Der Name ist länger als 255 Zeichenprivate void checkPidLength(String pid) throws ConfigurationChangeException
pid
- Pid oder null
ConfigurationChangeException
- Die Pid ist länger als 255 Zeichenprivate DynamicObject createDynamicObject(DynamicObjectType type, String pid, String name, Collection<DataAndATGUsageInformation> data, short simulationVariant, boolean checkDatasets) throws ConfigurationChangeException
type
- Typ des neuen Objektspid
- PID des neuen Objekts. Der leere String ("") oder null
wird als "keine PID" interpretiert.name
- Name des neuen Objekts (kann später verändert werden)data
- Datensätze für das dynamische ObjektsimulationVariant
- Simulationsvariante des neuen ObjektscheckDatasets
- gibt an, ob geprüft werden soll, ob die notwendigen Datensätze vorhanden sind
ConfigurationChangeException
- Wenn das Objekt nicht erzeugt werden konnte.private void createConfigurationDataForSets(ConfigurationObjectInfo objectInfo, List<ObjectSet> sets, int serializerVersion)
objectInfo
- wo der konfigurierende Datensatz mit den Mengen abgespeichert werden sollsets
- die MengenserializerVersion
- die Version des Serialisierersshort getVersionAtAssignedTime(long time)
time
- die Zeit, zu der die Versionsnummer des Konfigurationsbereichs gesucht wird
0
, falls der Konfigurationsbereich noch nie aktiviert wurdelong getTimeAtAssignedVersion(short version)
version
- die Versionsnummer, dessen Aktivierungszeit gewünscht ist
0
, falls zur Version kein Eintrag vorliegtvoid setTimeOfLastChanges(ConfigConfigurationArea.KindOfLastChange kind)
kind
- gibt an, welche der drei Zeiten angepasst werden musspublic void initialiseTimeOfLastChanges()
atg.konfigurationsBereichÄnderungsZeiten
gibt, der Undefiniert (0)
ist, und ersetzt diesen
mit der aktuellen Zeit.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |