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-2018 | KvalitetsIT | Initiel 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