Introduktion

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

Opsætning af udviklingsmiljø

Koden er tilgængelig fra git: https://git.nspop.dk/projects/COM/repos/sor-enkeltopslagsservice/browse

Koden kan bygges med Apache Maven 3.6.3 eller senere.

Kørsel af systemet sker ved hjælp af Docker-compose 3.6 eller senere.

Koden bygges med kommandoen

mvn clean install

Under udvikling kan servicen startes med kommandoen (fra roden af projektet):

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 /reload.

Logfiler er tilgængelig i compose/development/log.

Servicen kan afprøves som beskrevet i eksemplerne på 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):

mvn verify -PIT -DTESTHOST=<host> -DTESTPORT=<port>

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

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.