Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Dette program kan anvendes til at generere data, der indsættes i databasen for servicen. Genereret data indeholder tilfældige værdier, men i størrelser og mængder der svarer til realistiske data.
Booleans udfyldes tilfældigt med true eller false. Strings udfyldes som udgangspunkt med 20 tilfældige tegn, medmindre længden af database-kolonnen er mindre. Datetimes udfyldes med en tilfældig værdi inden for et specificeret interval.
Længere nede beskrives hvordan mængden af data konfigureres.

Byggevejledning

Programmet er lavet som et yderligere Maven-modul kaldet “ltr-btr-test-data-creator” i det overordnede projekt for servicen. Det bygges derved som en del af hele servicen (tests kan springes over) vha.:

...

Det resulterende artefakt er en jar-fil, som har andre af projektets moduler som dependencies, og derfor skal hele projektet bygges.

Kør programmet

Når projektet er bygget kan programmet afvikles som en almindelig jar-fil vha.:

...

Code Block
languageyml
data-creator-properties:
  person-file-name: "person-file.txt"

Logs

Når programmet køres skrives der roterende logfiler i mappen “./logs/”. Derudover logges status for afviklingen i både console og i logfiler. Programmets konfiguration (datasource undtaget) logges ved opstart.

Konfiguration af datamængder

Typer

For hvert suppleret personnummer oprettes én række i databasen for hver datatype.
Programmet har følgende datatyper: ltr, btr

Datoer

For hver datatype kan der konfigureres et datointerval for oprettelsen af dataen. Dvs. at der genereres et tilfældigt tidspunkt indenfor intervallet for hver række af data der oprettes, og dette tidspunkt anvendes som rækkens validFrom og modifiedDateTime. Formålet er at kunne simulere data oprettet over eksempelvis en årrække.

Opdateringer

For hver datatype kan der konfigureres en sandsynlighed for at en række er blevet opdateret (dvs. at der er oprettet en ny række og den gamle er markeret forældet). Denne sandsynlighed anvendes også som faktor for om rækken er blevet opdateret 2. gang og 3. gang osv. Eksempelvis hvis sandsynligheden er konfigureret til 15 procent, så vil der være 15 procent chance for at der oprettes endnu en række (med opdaterede værdier) for en række. Dernæst vil der være 15 procent chance for at der igen oprettes endnu en række (med opdaterede værdier) for den opdaterede række osv.
Hver opdatering resulterer i én yderligere række i databasen.

Forslag til konfiguration

Følgende er et forslag til konfiguration af datamængder.

Code Block
languageyml
data-creator-properties:
  ltr:
    data-time-interval-start: "2017-06-01T00:00:00Z"
    data-time-interval-end: "2019-06-01T00:00:00Z"
    chance-of-updates: 15
  btr:
    data-time-interval-start: "2017-06-01T00:00:00Z"
    data-time-interval-end: "2019-06-01T00:00:00Z"
    chance-of-updates: 15

Eksempel på log output

Følgende er et eksempel på log output ved succesfuld kørsel af programmet.

...