This project is mirrored from https://:*****@github.com/Ensembl/ensembl.git. Pull mirroring updated .
  1. 18 Mar, 2019 1 commit
    • Marek Szuba's avatar
      RNAProduct: do not hardcode mappings between type IDs and class names · ccfc19a8
      Marek Szuba authored
      There is now a dedicated class, Utils::RNAProductTypeMapper, which
      provides type_id<->class_name mappings to both RNAProduct constructor
      (with the side bonus of no longer having to set the type ID in the
      constructor of each subclass) and RNAProductAdaptor. The latter will
      likely be used more frequently than the former, therefore the default
      map uses type IDs as keys; the reverse map is only generated the first
      time it is needed.
      
      In addition to the constructor, the RNAProductTypeMapper.pm defines a
      function called mapper() which provides a singleton instance of the
      mapper object.
      
      The mappings are hardcoded instead of being retrieved from the database
      because the latter could in principle result in execution of arbitrary
      code.
      
      Some tests have been defined as well.
      ccfc19a8