This description is incomplete and includes deep dependencies only for the akka.fp.NewScientificNameValidator actor.
As of 2015 Jun 11 some substantive changes have occurred, including reorganization of the package heirarchy, and the production of a DwCaWorkflow that works with input and output files instead of a MongoDB datastore.
The diagram to the right was produced from YesWorkflow markup of the org.filteredpush.akka.workflows.MongoWorkflow class in FP-Akka 1.4.3.
akka.fp.Loader [FP-Akka module]
- Injected by akka.FP.Loader into the scientificNameService field of the akka.fp.NewScientificNameValidator actor.
- Derived from fp.services.SciNameServiceParent (to which it defers most method calls from the actor).
- Overrides nameSearchAgainstServices() to look up scientific name and author in the Catalog of Life using the web service at http://www.catalogueoflife.org/col/webservice.
- By the FP-Akka 1.4.0, release this is one of several different Service classes that can be injected.
fp.services.SciNameServiceParent [FP-KurationServices module]
- Implements date validation methods called by akka.fp.InternalDateValidator.
- Most of name validation logic is defined in validateDate() method which calls methods on other objects and services.
- validateDate() calls the private parseDate() method to check internal consistency of fields.
- Then uses the checkWithAuthorSolr() method to to validate the collector and and collection date with the Filteredpush entomologists list (in a Solr server) and sets curationStatus to UNABLED_CURATED if collection date is not within the life span of the collector.
Although there there is a checkWithAuthorHarvard() method that validates collector and collection date against the Harvard List of Botanists, the code is hardwired only to use the checkWithAuthorSolr().It appears that
- The validation of collector with respect to collection date is meaningfully performed only for
entomologists --not for botanistsor entomologists and botanists, not for other collectors.
akka.fp.GEORefValidator [FP-Akka module]
- Fourth actor in the FP-Akka QC workflow.
- Akka actor for validating georeference fields.
fp.services.Geolocate3 [FP-KurationServices module]
- GeoLocate3 checks decimalLatitude and decimalLongitude for sanity, compares them with the value of country using a shapefile of country boundaries, and checks them against the georeferences returned for the country/state/county/locality by the Tulane GeoLocate service (confusingly using the geolocate2 service call). A check is also made if the locality is on land, all marine localities will fail georeference validation.
akka.fp.MongoSummaryWriter [FP-Akka module]
- Fifth and final actor in the FP-Akka QC workflow.
- Writes out JSON containing the modified record, summary provenance, and a block of provenance provided by each actor.