Class BusinessKey

java.lang.Object
ubic.gemma.persistence.util.BusinessKey

public class BusinessKey extends Object
Methods to test business-key-related issues on objects. The 'checkValidKey' methods can be used to check whether an object has the required business key values filled in. An exception is thrown if they don't. This class contains some important code that determines our rules for how entities are detected as being the same as another (in queries from the database; this is on top of basic 'equals', but should be compatible).
Author:
pavlidis
  • Constructor Details

    • BusinessKey

      public BusinessKey()
  • Method Details

    • addRestrictions

      public static void addRestrictions(Criteria queryObject, ArrayDesign arrayDesign)
    • addRestrictions

      public static void addRestrictions(Criteria queryObject, BioAssay bioAssay)
    • addRestrictions

      public static void addRestrictions(Criteria queryObject, BioMaterial bioMaterial)
    • addRestrictions

      public static void addRestrictions(Criteria queryObject, BioSequence bioSequence)
      Note: The finder has to do the additional checking for equality of sequence and/or database entry - we don't know until we get the sequences. Due to the following issues:
      • Sometimes the sequence in the database lacks the DatabaseEntry
      • Sometimes the old entry lacks the actual sequence (ATCG..)
      This means that we can't use those criteria up front. Instead we match by name and taxon. If those match, the caller has to sort through possible multiple results to find the correct one.
      Parameters:
      queryObject - query object
      bioSequence - bio sequence
    • createCharacteristicRestriction

      public static Conjunction createCharacteristicRestriction(Characteristic characteristic)
    • addRestrictions

      public static void addRestrictions(Criteria queryObject, Chromosome chromosome)
    • addRestrictions

      public static void addRestrictions(Criteria queryObject, Contact contact)
    • addRestrictions

      public static void addRestrictions(Criteria queryObject, ExperimentalFactor experimentalFactor)
    • addRestrictions

      public static void addRestrictions(Criteria queryObject, Gene gene, boolean stricter)
    • addRestrictions

      public static void addRestrictions(Criteria queryObject, Gene2GOAssociation gene2GOAssociation)
    • addRestrictions

      public static void addRestrictions(Criteria queryObject, Taxon taxon)
    • addRestrictions

      public static void addRestrictions(DetachedCriteria queryObject, DatabaseEntry databaseEntry)
    • attachCriteria

      public static void attachCriteria(Criteria queryObject, BioSequence bioSequence, String propertyName)
      Restricts the query to the provided BioSequence.
      Parameters:
      queryObject - query object
      bioSequence - The object used to create the criteria
      propertyName - Often this will be 'bioSequence'
    • attachCriteria

      public static void attachCriteria(Criteria queryObject, Characteristic ontologyEntry, String propertyName)
      Restricts the query to the provided OntologyEntry.
      Parameters:
      queryObject - query object
      ontologyEntry - The object used to create the criteria
      propertyName - Often this will be 'ontologyEntry'
    • attachCriteria

      public static void attachCriteria(Criteria queryObject, DatabaseEntry databaseEntry, String propertyName)
      Restricts query to the given DatabaseEntry association
      Parameters:
      queryObject - query object
      databaseEntry - to match
      propertyName - often "accession"
    • attachCriteria

      public static void attachCriteria(Criteria queryObject, Gene gene, String propertyName)
      Restricts the query to the provided Gene.
      Parameters:
      queryObject - query object
      gene - gene
      propertyName - property name
    • attachCriteria

      public static void attachCriteria(Criteria queryObject, PhysicalLocation physicalLocation, String attributeName)
    • attachCriteria

      public static void attachCriteria(Criteria queryObject, Taxon taxon, String propertyName)
      Restricts query to the given Taxon.
      Parameters:
      queryObject - query object
      taxon - taxon
      propertyName - often "taxon"
    • attachCriteria

      public static void attachCriteria(DetachedCriteria queryObject, DatabaseEntry databaseEntry, String attributeName)
    • checkKey

      public static void checkKey(BibliographicReference bibliographicReference)
    • checkKey

      public static void checkKey(Characteristic ontologyEntry)
    • checkKey

      public static void checkKey(Contact contact)
    • checkKey

      public static void checkKey(DatabaseEntry accession)
    • checkKey

      public static void checkKey(DesignElementDataVector designElementDataVector)
    • checkKey

      public static void checkKey(ExternalDatabase externalDatabase)
    • checkKey

      public static void checkKey(FactorValue factorValue)
    • checkKey

      public static void checkKey(Gene gene)
    • checkKey

      public static void checkKey(User user)
    • checkValidKey

      public static void checkValidKey(ArrayDesign arrayDesign)
    • checkValidKey

      public static void checkValidKey(BioSequence bioSequence)
    • checkValidKey

      public static void checkValidKey(Chromosome chromosome)
    • checkValidKey

      public static void checkValidKey(DatabaseEntry databaseEntry)
    • checkValidKey

      public static void checkValidKey(ExperimentalFactor experimentalFactor)
    • checkValidKey

      public static void checkValidKey(Gene gene)
    • checkValidKey

      public static void checkValidKey(Gene2GOAssociation gene2GOAssociation)
    • checkValidKey

      public static void checkValidKey(GeneProduct geneProduct)
    • checkValidKey

      public static void checkValidKey(Taxon taxon)
    • checkValidKey

      public static void checkValidKey(Unit unit)
    • createQueryObject

      public static void createQueryObject(Criteria queryObject, FactorValue factorValue)
    • createQueryObject

      public static void createQueryObject(Criteria queryObject, Gene gene)
    • createQueryObject

      public static void createQueryObject(Criteria queryObject, GeneProduct geneProduct)
    • createQueryObject

      public static Criteria createQueryObject(Session session, ArrayDesign arrayDesign)
    • createQueryObject

      public static Criteria createQueryObject(Session session, BioAssay bioAssay)
    • createQueryObject

      public static Criteria createQueryObject(Session session, BioSequence bioSequence)
    • createQueryObject

      public static Criteria createQueryObject(Session session, Characteristic ontologyEntry)
    • createQueryObject

      public static Criteria createQueryObject(Session session, Unit unit)
    • checkKey

      public static void checkKey(ExpressionExperimentSubSet entity)
    • createQueryObject

      public static void createQueryObject(Criteria queryObject, ExpressionExperimentSubSet entity)