Class RelaxedModelChanges

java.lang.Object
de.bsvrz.puk.config.main.consistencycheck.RelaxedModelChanges

public class RelaxedModelChanges extends Object
Hilfsklasse für die Spezialbehandlungen bei unversionierten Datenmodelländerungen.

Der Import läuft in zwei Schritten ab. Zurerst wird mit den Processable-Methoden geprüft, ob unversionierte Änderungen möglich sind (true) oder nicht (false). Wenn unversionierte Änderungen möglich sind und auch keine anderen Änderungen dagegen sprechen wird später dann bei den entsprechenden allow...-Methoden nocheinmal geprüft, ob die Änderugnen durchgeführt werden dürfen (die Logik muss natürlich identisch sein). Da die allow...-Methoden direkt vor dem Ändern der Konfigurationsdateien ausgeführt werden, wird in den allow...- Methoden auch der entsprechende Datensatz am Konfigurationsbereich ergänzt, der Informationen über unversionierte Änderungen enthält.

Dieser Datensatz darf noch nicht bei den Processable-Methoden ergänzt werden, da dort noch niocht feststeht, dass nicht auch andere Aktionen durchgeführt werden, die trotzdem eine neue Objektversion bewirken würden (z.B. hinzufügen vo nStatuswerten (würde erlaubt werden) mit gleichzeitigem Löschen von Statuswerten.

  • Constructor Summary

    Constructors
    Constructor
    Description
    RelaxedModelChanges(de.bsvrz.dav.daf.main.config.DataModel dataModel)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    allowChangeArrayMaxCount(ConfigSystemObject configSystemObject, de.bsvrz.dav.daf.main.Data oldData, de.bsvrz.dav.daf.main.Data newData)
    Gibt true zurück, falls die Länge des Daten-Arrays geändert werden darf und markiert den zugehörigen Attributtyp als durch unversionierte Änderungen bearbeitet.
    boolean
    allowChangeValueName(de.bsvrz.dav.daf.main.config.IntegerValueState integerValueState)
    Gibt zurück, ob das Ändern eines Wert-Namens erlaubt sein soll und markiert den zugehörigen Attributtyp als durch unversionierte Änderungen bearbeitet.
    boolean
    allowChangeValueRange(ConfigSystemObject configSystemObject, de.bsvrz.dav.daf.main.Data oldData, de.bsvrz.dav.daf.main.Data newData)
    Gibt true zurück sofern der Wertebereich bearbeitet werden darf und markiert den zugehörigen Attributtyp als durch unversionierte Änderungen bearbeitet.
    boolean
    Gibt true zurück, sofern der Wertezustand hinzugefügt werden darf und markiert den zugehörigen Attributtyp als durch unversionierte Änderungen bearbeitet.
    getInstance(de.bsvrz.dav.daf.main.config.DataModel dataModel)
     
    boolean
    isAddStatesProcessable(de.bsvrz.dav.daf.main.config.IntegerAttributeType integerAttributeType)
    Gibt zurück, ob zu dem angegebenen IntegerAttributeType neue Statuswerte hinzugefügt werden dürfen
    boolean
    isChangeArrayMaxCountProcessable(int oldMaxCount, int newMaxCount)
    Gibt zurück, ob die maximale Länge eines Feldes geändert werden darf.
    boolean
    isChangeValueNameProcessable(de.bsvrz.dav.daf.main.config.IntegerValueState integerValueState)
    Gibt zurück, ob das Ändern eines Wert-Namens erlaubt sein soll, ohne eine neue Version zu erstellen.
    boolean
    isValueRangeChangeProcessable(ConfigurationValueRange importedValueRange, de.bsvrz.dav.daf.main.config.IntegerValueRange existingValueRange)
    Sonderbehandlung für Wertebereiche.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RelaxedModelChanges

      public RelaxedModelChanges(de.bsvrz.dav.daf.main.config.DataModel dataModel)
  • Method Details

    • getInstance

      public static RelaxedModelChanges getInstance(de.bsvrz.dav.daf.main.config.DataModel dataModel)
    • isValueRangeChangeProcessable

      public boolean isValueRangeChangeProcessable(ConfigurationValueRange importedValueRange, de.bsvrz.dav.daf.main.config.IntegerValueRange existingValueRange)
      Sonderbehandlung für Wertebereiche. Das Ändern, wird erlaubt, wenn der Bereich nicht verkleinert wird und Einheit und Skalierung beibehalten werden.
      Parameters:
      importedValueRange - Eingelesene Bereichsdefinition
      existingValueRange - Existierende Bereichsdefinition
      Returns:
      true: die Änderung wird erlaubt, false: keine Sonderbehandlung, hier nicht erlaubt
    • isAddStatesProcessable

      public boolean isAddStatesProcessable(de.bsvrz.dav.daf.main.config.IntegerAttributeType integerAttributeType)
      Gibt zurück, ob zu dem angegebenen IntegerAttributeType neue Statuswerte hinzugefügt werden dürfen
      Parameters:
      integerAttributeType - IntegerAttributeType
      Returns:
      true falls neue Statuswerte hinzugefügt werden dürfen, sonst false
    • isChangeArrayMaxCountProcessable

      public boolean isChangeArrayMaxCountProcessable(int oldMaxCount, int newMaxCount)
      Gibt zurück, ob die maximale Länge eines Feldes geändert werden darf. Vorraussetzung: oldMaxCount != newMaxCount und das Feld hat eine variable Länge.
      Parameters:
      oldMaxCount - Alte Länge
      newMaxCount - Neue Länge
      Returns:
      Darf die Feldlänge ohne Versionierung geändert werden?
    • isChangeValueNameProcessable

      public boolean isChangeValueNameProcessable(de.bsvrz.dav.daf.main.config.IntegerValueState integerValueState)
      Gibt zurück, ob das Ändern eines Wert-Namens erlaubt sein soll, ohne eine neue Version zu erstellen.
      Parameters:
      integerValueState - Statuswert
      Returns:
      Darf der Name geädnert werden?
    • allowChangeValueRange

      public boolean allowChangeValueRange(ConfigSystemObject configSystemObject, de.bsvrz.dav.daf.main.Data oldData, de.bsvrz.dav.daf.main.Data newData)
      Gibt true zurück sofern der Wertebereich bearbeitet werden darf und markiert den zugehörigen Attributtyp als durch unversionierte Änderungen bearbeitet.
      Parameters:
      configSystemObject -
      oldData - Existierende Bereichsdefinition Alter Datensatz
      newData - Eingelesene Bereichsdefinition Neuer Datensatz
      Returns:
      true: die Änderung wird erlaubt, false: keine Sonderbehandlung, hier nicht erlaubt
    • allowChangeValueName

      public boolean allowChangeValueName(de.bsvrz.dav.daf.main.config.IntegerValueState integerValueState)
      Gibt zurück, ob das Ändern eines Wert-Namens erlaubt sein soll und markiert den zugehörigen Attributtyp als durch unversionierte Änderungen bearbeitet.
      Parameters:
      integerValueState - Statuswert
      Returns:
      Darf der Name geändert werden?
    • allowObjectSetAdd

      public boolean allowObjectSetAdd(ConfigNonMutableSet objectSet)
      Gibt true zurück, sofern der Wertezustand hinzugefügt werden darf und markiert den zugehörigen Attributtyp als durch unversionierte Änderungen bearbeitet.
      Parameters:
      objectSet - Objekt-Menge
      Returns:
    • allowChangeArrayMaxCount

      public boolean allowChangeArrayMaxCount(ConfigSystemObject configSystemObject, de.bsvrz.dav.daf.main.Data oldData, de.bsvrz.dav.daf.main.Data newData)
      Gibt true zurück, falls die Länge des Daten-Arrays geändert werden darf und markiert den zugehörigen Attributtyp als durch unversionierte Änderungen bearbeitet.
      Parameters:
      configSystemObject - SystemObjekt des Attributes
      oldData - Existierende Attributtypeigenschaften Alter Datensatz
      newData - Eingelesene Attributtypeigenschaften Neuer Datensatz
      Returns:
      true: die Änderung wird erlaubt, false: keine Sonderbehandlung, hier nicht erlaubt