You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 34 Next »

akka.fp.Loader  [FP-Akka module]

  • Instantiates an Akka workflow comprising five Akka actors:  akka.fp.MongoDBReader, akka.fp.NewScientificNameValidatorakka.fp.InternalDateValidatorakka.fp.GEORefValidator, and akka.fp.MongoSummaryWriter.  (See below for descriptions of each).
  • Configures akka.fp.MongoDBReader and akka.fp.MongoSummaryWriter actors using parsed command-line options.
  • Injects fp.services.COLService into the scientificNameService field of the akka.fp.NewScientificName actor.
  • Injects fp.services.InternalDateValidationService into the singleDateValidationService field of the akka.fp.InternalDateValidator actor.
  • Injects fp.services.GeoLocate3 into the geoRefValidationService field of the akka.fp.GEORefValidator actor.
  • Executes the workflow.

akka.fp.MongoDBReader  [FP-Akka module]

akka.fp.NewScientificNameValidator  [FP-Akka module]

    • Akka actor for validating scientific name and authorship fields.
    • Internally creates an instance of the nested class ScientificNameValidatorInvocation (which performs the work below).
    • Uses the class injected into the scientificNameService field (fp.services.COLService and its parent fp.services.SciNameServiceParent) to carry out validation tasks
    • Receives individual SpecimenRecord instances from upstream MongoDBReader.
    • For each specimen record:
      • Disassembles the specimen record into fields.
      • Calls the validateScientificName() method on the scientificNameService (implemented by fp.services.SciNameServiceParent) passing the individual field values extracted from the record.
      • Calls getters getCurationStatus(), getCorrectedScientificName(), getCorrectedAuthor(), getLSID(), getComment(), getServiceName() on the scientificNameService to extract validation results.
      • If the result returned by getCurationStatus() is CURATED or Filled_In, replaces the scientificName and scientificNameAuthorship fields in the input specimen record with the results from getCorrectedScientificName() and getCorrectedAuthor() respectively.
      • Adds to the input specimen record three fields with labels scinComment, scinStatus, and scinSource using the results from getCurationStatus(), getComment(), and getServiceName() on the scientificNameService.
      • Forwards the updated specimen record to downstream actors in workflow.
      • Comment by T.M.  The NewScientificNameValidator actor overwrites the original scientificName and scientificNameAuthorship fields in each record that it updates.  Downstream actors in the workflow, including MongoDBWriter which saves the workflow results, do not have programmatic access to the original values in these fields.

fp.services.COLService [FP-KurationServices 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.

fp.services.SciNameServiceParent [FP-KurationServices module]

        • Parent class of fp.Services.COLService.  Implements most of the methods called by akka.fp.NewScientificNameValidator actor on the scientificNameService.
        • Most of name validation logic is defined in validateScientificName() method which calls methods on other objects and services.
        • Begins by checking internal consistency of scientific name fields scientificName,  genus,  subgenus,  specificEpithet,  verbatimTaxonRank,  taxonRank, infraspecificEpithet using the static checkConsistencyToAtomicField() method defined in fp.util.SciNameServiceUtil.
        • Under some conditions calls GNISupportingService.resolveDataSourcesNameInLexicalGroupFromGNI(), SciNameServiceUtil.checklistBankNameSearch(), and nameSearchAgainstServices().
        • Comment by T.M.  The internal logic of fp.services.SciNameServiceParent is unclear to me.
        • Comment by T.M.  A comment on line 150 states that the call to nameSearchAgainstServices() uses the GNI search. The comment value returned to akka.FP.NewScientificNameValidator via getComment() appears to state the same (see line 161). However, as implemented in fp.Services.COLService, it is the Catalog of Life web service that is used.

fp.services.GNISupportingService  [FP-KurationServices module]

          • Implements resolveDataSourcesNameInLexicalGroupFromGNI() called by validateScientificNameAgainstServices() method in fp.services.ScinameServiceParent.

fp.util.SciNameServiceUtil  [FP-KurationServices module]

          • Implements the checkConsistencyToAtomicField() method invoked by fp.Services.SciNameServiceParent.
          • Implements the checkMisspelling() method invoked by fp.Services.SciNameServiceParent.
          • Implements the checklistBankNameSearch() method invoked by fp.Services.SciNameServiceParent.

edu.harvard.mcz.nametools.NameUsage  [FP-KurationServices module]

              • Used by fp.util.SciNameServiceUtil during calls to checklistBankNameSearch().

org.gbif.nameparser.NameParser

              • Used by fp.util.SciNameServiceUtil during calls to checkConsistencyToAtomicField().

org.gbif.api.model.checklistbank.ParsedName

              • Used by fp.util.SciNameServiceUtil during calls to checkConsistencyToAtomicField().

akka.fp.InternalDateValidator  [FP-Akka module]

akka.fp.GEORefValidator  [FP-Akka module]

akka.fp.MongoSummaryWriter  [FP-Akka module]


 

  • No labels