2.4.21.3. Aktivierung und Verwendung des binären Validators

Innerhalb von checkerberry db werden binäre Daten in eine String-Darstellung (Base64 oder BCD) konvertiert, sodass der Vergleich von erwarteten zu tatsächlichen Daten durch einen String-Validator erfolgt. Dieses Vorgehen kann dann zu Problemen führen, wenn bei einer Umstellung auf das BCD-Format auch Daten im Base64-Format vorliegen, da der Vergleich von Werten im BCD-Format mit Werten im Base64-Format zu Fehlern führt. Aus diesem Grund gibt es einen zusätzlichen Validator, der eine explizite Unterscheidung der Formate BCD und Base64 ermöglicht. Das folgende Beispiel zeigt die Verwendung des Validators in den erwarteten Testdaten.

Beispiel 2.60. Verwendung des Binär-Validators in den erwarteten Testdaten

<dataset>
    <!-- Verwendung des String-Validators -->
    <INCLUDE NAME="Homer" SURNAME="Simpson" BIRTHDATE="X'03071973'" />
    <INCLUDE NAME="Bart" SURNAME="Simpson" BIRTHDATE="QsO2c2UgNjQ=" />
    <!-- Explizite Verwendung des Binär-Validators -->
    <INCLUDE NAME="Marge" SURNAME="Simpson" BIRTHDATE="bcd X'25111974'" />
    <INCLUDE NAME="Lisa" SURNAME="Simpson" BIRTHDATE="base64 MzExMjIwMTE=" />
</dataset>


Der Binär-Validator wird für die Validierung verwendet, wenn die erwarteten Daten eines der Präfixe „bcd“ oder „base64“ enthält. Bei der Verwendung des Präfixes „bcd“ werden die tatsächlichen Binärdaten in BCD-Format umgewandelt und mit dem erwarteten Wert verglichen. Dementsprechend werden die Binärdaten in das Base64-Format konvertiert und verglichen, wenn das Präfix „base64“ in den erwarteten Testdaten angegeben wurde.

Der Binär-Validator ist standardmäßig in checkerberry db deaktiviert, da er in der Regel nicht benötigt wird. Um den Validator verwenden zu können, muss er über die Konfiguration registriert werden. Das folgende Code-Beispiel stellt die Registrierung des Validators dar.

Beispiel 2.61. Registrieren des Binär-Validators

public class ConfigurationCallback implements DbConfigurationCallback {
  public void configure(DbConfiguration configuration) {
    configuration.register(new OperatorContainingBinaryValidator());
  }
}


Weitere Informationen zum Thema Validatoren sind in Abschnitt 2.4.3, „Überprüfen der Ergebnisse durch Validatoren“ dargestellt.