ArchitectureΒΆ
Registry- application-scoped service that opens the stores and creates the authority and registry records at start-up.RegistryStoreInterface/BasexStore- writes (XQuery insrc/main/resources/xquery:update.xq,add.xq,delete.xq).RegistryQueryInterface/BaseXQuery- reads (oai*.xq).HarvestOrchestrator- queue-based harvester usingOaiPMHClient;HarvestSourceCatalogpersists per-source state.XMLUtils- JAXB marshalling and the Saxon XSLT used to concatenate and fix harvested records (fixHarvest.xslt).REST resources:
OaiPMHResource,XQueryResource,ResourceResource,VOSIResource,AdminResource,HarvestAdminResource.registry.tap- optional RegTAP classes, see Building the RegTAP variant.
XML Domain classes and schema come from the external org.javastro.ivoa:ivoa-entitieshttps://github.com/Javastro/ivoa-entities library.
RegTAP is defined as a VO-DML model in RegTAP github which in turn uses the libraries in ivoa-core and quarkusIVOA to build the interface with little code in this repo.
API documentation: Javadoc.