Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

    • Second actor in the FP-Akka QC workflow.
    • 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.

...

          • Implements the checkConsistencyToAtomicField() method invoked by fp.Services.SciNameServiceParent.
            • Comment by T.M.  checkConsistencyToAtomicField() appears only to construct a scientific name from atomic fields for comparison with provided scientificName only if there is content in the genus, specificEpithet, and infraspecificEpithet fields.  Otherwise it it reports UNABLE_DETERMINE_VALIDITY, "can't construct sciName from atomic fields." Is this the correct behavior?
          • Implements the checkMisspelling() method invoked by fp.Services.SciNameServiceParent.
          • Implements the checklistBankNameSearch() method invoked by fp.Services.SciNameServiceParent.

...