OpenXDS Cleanup er en virkelig simpel standard-NSP komponent, der udover status og statistik-forespørgsler kun understøtter en enkelt operation - "start oprydning".
Formål
Komponentens formål er at fjerne dokumenter fra OpenXDS repository'et, der ikke længere findes metadata for i registry'et.
Komponenten indlæser derfor dokument-id'er fra filer genereret af det job, der sletter metadata fra det tilknyttede XDS registry.
Virkemåde
Operationen 'start oprydning'
- lister filerne i det konfigurerede bibliotek
- frasorterer filnavne, der ender på "*.handled"
- indlæser indholdet af filerne, der indeholder et dokument-id på hver linje
- logger eventuelle dokument-id'er, der ikke findes i databasen (og derfor ikke kan slettes)
- sletter dokumenter med matchende dokument-id'er
- logger id'erne på de slettede dokumenter
Lag
Komponenten er inddelt i følgende lag:
Servlet
Servlet-laget ligger i pakken dk.sds.nsp.openxds.cleanup.ws
og er ansvarlig for at håndtere requests - status-requests håndteres alene i servletten, mens statistik og start-kald delegeres til service-laget.
Service
Service-laget ligger i pakken dk.sds.nsp.openxds.cleanup.service
og er ansvarlig for at
- svare på statistik-forespørgsler
- sikre, at oprydningsjob kun startes, hvis det ikke allerede kører
- kontrollere, om forespurgte dokument-id'er til sletning findes i database-laget
- slette forespurgte eksisterende dokument-id'er fra database-laget
- logge sletningerne
Database
Database-laget ligger i pakken dk.sds.nsp.openxds.cleanup.db
.
Her foregår opslag og sletning i databasen via datasourcen.