1       Introduktion

1.1           Formål

Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af repository deletion job (herefter RepJob) , kan sættes op, samt hvordan koden bygges, deployes og testes.


1.3           Læsevejledning

Læser forventes at have kendskab til Java softwareudvikling med anvendelse af Maven.

1.4           Dokumenthistorik



Version

Dato

Ansvarlig

Beskrivelse

0.8

09-01-2018KvalitetsITInitiel udgave

2       Introduktion til RegJob

RepJob er et simpelthen main-program, der kalder en service til at foretage sletning i XDB-databasen ud fra en liste af ID´er .

RepJob er en Java baseret komponent, der baserer sig på Java 8 og Spring frameworket. Der anvendes Spring Boot som konfiguration og konventionsværktøj omkring Spring Frameworket.

Design og arkitektur er beskrevet: RepJob - Design og arkitektur.

3       Opsætning af udviklingsmiljø

I det følgende antages at koden er hentet ned fra nspop SVN.

3.1           Krav til software

Java 8 og Maven 3.0.3 eller højere anvendes.

3.2      Bygge JAR filen

Man skal bruge Apache Maven til at bygge RepJob, hvilket gøres ved at køre kommandoen
$ mvn clean install
I ”target” folderen vil der efterfølgende ligge en kompileret JAR fil ved navn

repositorydeletionjob-0.0.1-SNAPSHOT.jar

5       Beskrivelse af systemdesign

Systemdesign er beskrevet i RepJob - Design og arkitektur.

6        Beskrivelse af kildekodens strukturering og design

6.1           Kode strukturering

Kildekoden bygges vha Apache Maven, og kildekoden er struktureret som Maven moduler, som vist
nedenfor.
├── repositorydeletionjob
│   ├── config
│   ├── pom.xml
│   └── src
│   └── dependencies

”dependencies" indeholder her "xhive.jar", som indeholder API til at kommunikere med XDB.

"config" indeholder en eksempel-opsætning på en property fil, som skal være på classpath ved kørsel af den færdigbyggede jar-fil.

6.2      Generelt design af RepJob

RegJob består af følgende centrale klasser:

  • XHiveService: Forsøger at slette en liste af dokumenter i XDB, og rapporterer tilbage i to lister hvilke der blev slettet, og hvilke ikke blev slettet. 
  • Application: Mainklasse der indlæser fil med ID´er og forsøger at slette disse vha XHiveService.

7       Beskrivelse af testsetup

7.1      Unittests (JUnit)

JUnit anvendes til implementering af unit tests. Der er kontinuert gennemført unit tests på alle komponenter i projektet.

Unit tests kan afvikles ved at køre:

mvn test

7.2           Integrationstests (Failsafe)

Maven Failsafe plugin anvendes til gennemførelse af integrationstests af samtykkewebservices.

Integrationstestene af samtykkeadministration er afhængige af at Min-log-registreringsservicen er deployet.

Det nødvendige testdata læses automatisk på af maven-scriptet, inden integrationstestene afvikles.

Integrationstests kan afvikles ved at køre:

mvn verify –Pexternal-test

  • No labels