Versions Compared

Key

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

...

Formålet med dette dokument er at beskrive, hvordan et udviklingsmiljø til videreudvikling af SORE SORES kan sættes op, samt hvordan koden bygges og deployes.

Opsætning af udviklingsmiljø

Koden er tilgængelig fra SVNgit: https://svngit.nspop.dk/projects/COM/svnrepos/components/soressor-enkeltopslagsservice/browse

Koden og kan bygges med Apache Maven 3.6.3 eller senere.

...

Code Block
languagebash
mvn clean install

Den byggede WAR-fil kan afvikles med kommandoenUnder udvikling kan servicen startes med kommandoen (fra roden af projektet):

Code Block
languagebash
sores(trunk)/compose/development> docker-compose -f compose/development/docker-compose.yml up 

...

-

...

-build

Bemærk, at servicen først kan besvare forespørgsler, når data er indlæst via et kald til til /reload.Såfremt der benyttes XML-baseret indlæsning skal et SOR-udtræk hentes og indholdet udpakkes i 

Logfiler er tilgængelig i compose/development/sores_xml_input_folder inden /reload kaldes.Logfilen er tilgængelig i target-mappen.log.

Servicen kan afprøves som beskrevet i eksemplerne på siden siden SORES - Anvenderguide, og det anbefales at udvide unit-tests (under src/test/java) med afprøvning af den tilføjede funktionalitet.

Kørsel af integrationstests

Integrationstesten kan startes med følgende kommando (indsæt relevant host og port):

Code Block
languagebash
mvn verify -PIT -DTESTHOST=<host> -DTESTPORT=<port>

Hvis man kører lokalt med compose/development, kan man nøjes med:

Code Block
languagebash
mvn verify -PIT

SQL til indlæsning i cache

Se beskrivelsen i afsnittet "Algoritme for indlæsning til cache" i SORES - Design og Arkitekturbeskrivelse.


Cache-fil

Vær opmærksom på at Cache er styret af version, som bliver genereret automatisk ud fra hvordan klassen SoresCacheEntries ser ud. Det vil sige, hvis der laves ændringer i SoresCacheEntries (nyt feltet anden rækkefølge eller andet) eller at der ændres i nogle underklasser som bruges i SoresCacheEntries eks. SorShakMapDTO. Så vil den få et ny version nummer (schemaFingerprint). Det er derfor vigtig at fortælle driften om at der ved opstart vil blive lavet en ny cache-fil, når der kaldes reload. Da reload vil se om cache-filen er af den forventede version, hvis ikke overskrives den og der laves en nye cache-file.