Page History
...
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
//nuværende eksempel på almindelig felt validering: Apd2StartStopTimeValidator apd2StartStopTimeValidator = .add(new Apd2StartStopTimeValidator();) //fremtidigt eksempel med yderligere validering: Apd2StartStopTimeValidator apd2StartStopTimeValidator = .add(branch(new Apd2StartStopTimeValidator()); Apd2StartStopTimeSpecifikValueValidator apd2StartStopTimeSpecifikValueValidator = .add(new Apd2StartStopTimeSpecifikValueValidator()); apd2StartStopTimeValidator.appendValidator(apd2StartStopTimeSpecifikValueValidator); |
Det som kendetegner en almindelig validator er extension af klassen AbstractValidatorImpl.
...
Et eksempel på sådan en ModelEnricher er CdaDocumentApdV2ModelEnricher. Den er default konfigureret på CdaDocumentTypeValidator CdaDocumentHeaderModelEnricher og modtager et CDA dokument, som den forsøger at pakke ud til et aftaledokument. Herefter kalder den sine under validatorer.
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
//validering, hvor CdaDocumentApdV2ModelEnricher forventes at pakke input ud og forstå at det er et aftale dokument. CdaDocumentApdV2ModelEnricher cdaDocumentApdV2ModelEnricher = new CdaDocumentApdV2ModelEnricher(); Apd2StartStopTimeValidator apd2StartStopTimeValidator = new Apd2StartStopTimeValidator(); cdaDocumentApdV2ModelEnricher.appendValidator(apd2StartStopTimeValidator); Apd2AppointmentIdValidator apd2AppointmentIdValidator = new Apd2AppointmentIdValidator(); cdaDocumentApdV2ModelEnricher.appendValidator(apd2AppointmentIdValidator); Apd2CustodianIdValidator apd2CustodianIdValidator = new Apd2CustodianIdValidator(organisationCodeValidation); cdaDocumentApdV2ModelEnricher.appendValidator(apd2CustodianIdValidator); .add(branch(new CdaDocumentHeaderModelEnricher(xdsConfiguration.getCdaTypeCodes())) ... .comment("APD") .add(branch(new CdaDocumentApdV2ModelEnricher()) .add(new Apd2StartStopTimeValidator()) .add(new Apd2AppointmentIdValidator()) .add(new Apd2CustodianIdValidator(codeValidators.getOrganisationCodeValidation())) ) ... ) |
Det som kendetegner en ModelEnricher er extension af klassen AbstractModelEnricherImpl.
...
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
//validering, hvor det hele initiers med en Starter validering til et iti 41 kald ProvideAndRegisterDocumentSetStarterValidatorBuilder<ProvideAndRegisterDocumentSetStarter> provideAndRegisterDocumentSetStarterbuilder = new ValidatorBuilder<>(new ProvideAndRegisterDocumentSetStarter(); ) |
Det som kendetegner en Starter er extension af klassen AbstractStarterImpl.
...
En grafisk præsentation af denne konfiguration af default validering kan ses i Design og arkitektur dokumentet. Og den tilhørende java kode findes i klassen Iti41ValidationFactory.
Der er lavet en hjælpe "abstraktion" i source koden, til at lave validerings strukturen, så man kan opbygge den vha. en builder pattern. Se factory metoderne for sådan anvendelse.
Hvordan ændrer man default valideringen
...