Class ExpressionExperimentDaoImpl
- java.lang.Object
-
- ubic.gemma.persistence.service.AbstractDao<O>
-
- ubic.gemma.persistence.service.AbstractVoEnabledDao<O,VO>
-
- ubic.gemma.persistence.service.AbstractFilteringVoEnabledDao<O,VO>
-
- ubic.gemma.persistence.service.AbstractQueryFilteringVoEnabledDao<C,VO>
-
- ubic.gemma.persistence.service.common.auditAndSecurity.curation.AbstractCuratableDao<ExpressionExperiment,ExpressionExperimentValueObject>
-
- ubic.gemma.persistence.service.expression.experiment.ExpressionExperimentDaoImpl
-
- All Implemented Interfaces:
InitializingBean,BaseDao<ExpressionExperiment>,BaseVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>,BrowsingDao<ExpressionExperiment>,CachedFilteringDao<ExpressionExperiment>,CachedFilteringVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>,CuratableDao<ExpressionExperiment>,ExpressionExperimentDao,FilteringDao<ExpressionExperiment>,FilteringVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>
@Repository public class ExpressionExperimentDaoImpl extends AbstractCuratableDao<ExpressionExperiment,ExpressionExperimentValueObject> implements ExpressionExperimentDao
- Author:
- pavlidis
- See Also:
ExpressionExperiment
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ubic.gemma.persistence.service.AbstractFilteringVoEnabledDao
AbstractFilteringVoEnabledDao.FilterablePropertiesConfigurer, AbstractFilteringVoEnabledDao.FilterablePropertyMeta
-
-
Field Summary
-
Fields inherited from class ubic.gemma.persistence.service.common.auditAndSecurity.curation.AbstractCuratableDao
CURATION_DETAILS_ALIAS
-
Fields inherited from class ubic.gemma.persistence.service.AbstractVoEnabledDao
REPORT_SLOW_QUERY_AFTER_MS
-
Fields inherited from class ubic.gemma.persistence.service.AbstractDao
elementClass, log
-
Fields inherited from interface ubic.gemma.persistence.service.expression.experiment.ExpressionExperimentDao
FREE_TEXT, OBJECT_ALIAS, UNCATEGORIZED
-
-
Constructor Summary
Constructors Constructor Description ExpressionExperimentDaoImpl(SessionFactory sessionFactory)
-
Method Summary
-
Methods inherited from class ubic.gemma.persistence.service.common.auditAndSecurity.curation.AbstractCuratableDao
addEventsToMap, addNonTroubledFilter, distinctIfNecessary, formNativeNonTroubledClause, formNonTroubledClause, groupByIfNecessary, updateCurationDetailsFromAuditEvent
-
Methods inherited from class ubic.gemma.persistence.service.AbstractQueryFilteringVoEnabledDao
count, countWithCache, getEntityTransformer, load, load, loadIds, loadIdsWithCache, loadValueObjectsWithCache, loadValueObjectsWithCache, loadWithCache, loadWithCache
-
Methods inherited from class ubic.gemma.persistence.service.AbstractFilteringVoEnabledDao
afterPropertiesSet, getFilter, getFilter, getFilter, getFilter, getFilterableProperties, getFilterablePropertyAllowedValues, getFilterablePropertyDescription, getFilterablePropertyIsUsingSubquery, getFilterablePropertyMeta, getFilterablePropertyType, getSort
-
Methods inherited from class ubic.gemma.persistence.service.AbstractVoEnabledDao
doLoadValueObjects, loadAllValueObjects, loadValueObject, loadValueObjectById, loadValueObjects, loadValueObjectsByIds
-
Methods inherited from class ubic.gemma.persistence.service.AbstractDao
countAll, create, create, findByProperty, findByPropertyIn, findOneByProperty, findOrCreate, getBatchSize, getElementClass, getIdentifierPropertyName, getSessionFactory, load, load, loadAll, loadReference, loadReference, remove, remove, save, save, update, update
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ubic.gemma.persistence.service.BaseDao
countAll, create, create, findOrCreate, getElementClass, getIdentifierPropertyName, load, load, loadAll, loadReference, loadReference, remove, remove, save, save, update, update
-
Methods inherited from interface ubic.gemma.persistence.service.BaseVoEnabledDao
loadAllValueObjects, loadValueObject, loadValueObjectById, loadValueObjects, loadValueObjectsByIds
-
Methods inherited from interface ubic.gemma.persistence.service.CachedFilteringDao
countWithCache, loadIdsWithCache, loadWithCache, loadWithCache
-
Methods inherited from interface ubic.gemma.persistence.service.CachedFilteringVoEnabledDao
loadValueObjectsWithCache, loadValueObjectsWithCache
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.curation.CuratableDao
updateCurationDetailsFromAuditEvent
-
Methods inherited from interface ubic.gemma.persistence.service.FilteringDao
count, getFilter, getFilter, getFilter, getFilter, getFilterableProperties, getFilterablePropertyAllowedValues, getFilterablePropertyDescription, getFilterablePropertyIsUsingSubquery, getFilterablePropertyType, getSort, load, load, loadIds
-
-
-
-
Constructor Detail
-
ExpressionExperimentDaoImpl
@Autowired public ExpressionExperimentDaoImpl(SessionFactory sessionFactory)
-
-
Method Detail
-
browse
public List<ExpressionExperiment> browse(int start, int limit)
- Specified by:
browsein interfaceBrowsingDao<ExpressionExperiment>
-
browse
public List<ExpressionExperiment> browse(int start, int limit, String orderField, boolean descending)
- Specified by:
browsein interfaceBrowsingDao<ExpressionExperiment>
-
loadBioAssaySet
public BioAssaySet loadBioAssaySet(Long id)
- Specified by:
loadBioAssaySetin interfaceExpressionExperimentDao
-
filterByTaxon
public Collection<Long> filterByTaxon(@Nullable Collection<Long> ids, Taxon taxon)
- Specified by:
filterByTaxonin interfaceExpressionExperimentDao
-
findByShortName
public ExpressionExperiment findByShortName(String shortName)
- Specified by:
findByShortNamein interfaceExpressionExperimentDao
-
findByName
public Collection<ExpressionExperiment> findByName(String name)
- Specified by:
findByNamein interfaceExpressionExperimentDao
-
find
public ExpressionExperiment find(ExpressionExperiment entity)
Description copied from interface:BaseDaoDoes a look up for the given entity in the persistent storage, usually looking for a specific identifier ( either id or a string property).- Specified by:
findin interfaceBaseDao<ExpressionExperiment>- Overrides:
findin classAbstractDao<ExpressionExperiment>- Parameters:
entity- the entity to look for.- Returns:
- an entity that was found in the persistent storage, or null if no such entity was found.
-
findByAccession
public Collection<ExpressionExperiment> findByAccession(DatabaseEntry accession)
- Specified by:
findByAccessionin interfaceExpressionExperimentDao
-
findByAccession
public Collection<ExpressionExperiment> findByAccession(String accession)
- Specified by:
findByAccessionin interfaceExpressionExperimentDao
-
findByBibliographicReference
public Collection<ExpressionExperiment> findByBibliographicReference(Long bibRefID)
- Specified by:
findByBibliographicReferencein interfaceExpressionExperimentDao
-
findByBioAssay
public ExpressionExperiment findByBioAssay(BioAssay ba)
- Specified by:
findByBioAssayin interfaceExpressionExperimentDao
-
findByBioMaterial
public ExpressionExperiment findByBioMaterial(BioMaterial bm)
- Specified by:
findByBioMaterialin interfaceExpressionExperimentDao
-
findByBioMaterials
public Map<ExpressionExperiment,BioMaterial> findByBioMaterials(Collection<BioMaterial> bms)
- Specified by:
findByBioMaterialsin interfaceExpressionExperimentDao
-
findByExpressedGene
public Collection<ExpressionExperiment> findByExpressedGene(Gene gene, Double rank)
- Specified by:
findByExpressedGenein interfaceExpressionExperimentDao
-
findByDesign
public ExpressionExperiment findByDesign(ExperimentalDesign ed)
- Specified by:
findByDesignin interfaceExpressionExperimentDao
-
findByFactor
public ExpressionExperiment findByFactor(ExperimentalFactor ef)
- Specified by:
findByFactorin interfaceExpressionExperimentDao
-
findByFactorValue
public ExpressionExperiment findByFactorValue(FactorValue fv)
- Specified by:
findByFactorValuein interfaceExpressionExperimentDao
-
findByFactorValue
public ExpressionExperiment findByFactorValue(Long factorValueId)
- Specified by:
findByFactorValuein interfaceExpressionExperimentDao
-
findByFactorValues
public Map<ExpressionExperiment,FactorValue> findByFactorValues(Collection<FactorValue> fvs)
- Specified by:
findByFactorValuesin interfaceExpressionExperimentDao
-
findByGene
public Collection<ExpressionExperiment> findByGene(Gene gene)
- Specified by:
findByGenein interfaceExpressionExperimentDao
-
findByQuantitationType
public ExpressionExperiment findByQuantitationType(QuantitationType quantitationType)
- Specified by:
findByQuantitationTypein interfaceExpressionExperimentDao
-
findByTaxon
public Collection<ExpressionExperiment> findByTaxon(Taxon taxon)
- Specified by:
findByTaxonin interfaceExpressionExperimentDao
-
findByUpdatedLimit
public List<ExpressionExperiment> findByUpdatedLimit(Collection<Long> ids, int limit)
- Specified by:
findByUpdatedLimitin interfaceExpressionExperimentDao
-
findByUpdatedLimit
public List<ExpressionExperiment> findByUpdatedLimit(int limit)
- Specified by:
findByUpdatedLimitin interfaceExpressionExperimentDao
-
findUpdatedAfter
public Collection<ExpressionExperiment> findUpdatedAfter(@Nullable Date date)
- Specified by:
findUpdatedAfterin interfaceExpressionExperimentDao
-
getAnnotationCounts
public Map<Long,Long> getAnnotationCounts(Collection<Long> ids)
- Specified by:
getAnnotationCountsin interfaceExpressionExperimentDao
-
getAnnotationsByBioMaterials
public Collection<? extends AnnotationValueObject> getAnnotationsByBioMaterials(Long eeId)
- Specified by:
getAnnotationsByBioMaterialsin interfaceExpressionExperimentDao
-
getAnnotationsByFactorValues
public Collection<? extends AnnotationValueObject> getAnnotationsByFactorValues(Long eeId)
- Specified by:
getAnnotationsByFactorValuesin interfaceExpressionExperimentDao
-
getAllAnnotations
public Map<Class<? extends Identifiable>,List<Characteristic>> getAllAnnotations(ExpressionExperiment expressionExperiment)
Description copied from interface:ExpressionExperimentDaoObtain all annotations, grouped by applicable level.- Specified by:
getAllAnnotationsin interfaceExpressionExperimentDao
-
getExperimentAnnotations
public List<Characteristic> getExperimentAnnotations(ExpressionExperiment expressionExperiment)
Description copied from interface:ExpressionExperimentDaoObtain experiment-level annotations.- Specified by:
getExperimentAnnotationsin interfaceExpressionExperimentDao
-
getBioMaterialAnnotations
public List<Characteristic> getBioMaterialAnnotations(ExpressionExperiment expressionExperiment)
Description copied from interface:ExpressionExperimentDaoObtain sample-level annotations.- Specified by:
getBioMaterialAnnotationsin interfaceExpressionExperimentDao
-
getExperimentalDesignAnnotations
public List<Characteristic> getExperimentalDesignAnnotations(ExpressionExperiment expressionExperiment)
Description copied from interface:ExpressionExperimentDaoObtain experimental design-level annotations.- Specified by:
getExperimentalDesignAnnotationsin interfaceExpressionExperimentDao
-
getCategoriesUsageFrequency
public Map<Characteristic,Long> getCategoriesUsageFrequency(@Nullable Collection<Long> eeIds, @Nullable Collection<String> excludedCategoryUris, @Nullable Collection<String> excludedTermUris, @Nullable Collection<String> retainedTermUris, int maxResults)
- Specified by:
getCategoriesUsageFrequencyin interfaceExpressionExperimentDao
-
getAnnotationsUsageFrequency
public Map<Characteristic,Long> getAnnotationsUsageFrequency(@Nullable Collection<Long> eeIds, @Nullable Class<? extends Identifiable> level, int maxResults, int minFrequency, @Nullable String category, @Nullable Collection<String> excludedCategoryUris, @Nullable Collection<String> excludedTermUris, @Nullable Collection<String> retainedTermUris)
We're making two assumptions: a dataset cannot have a characteristic more than once and a dataset cannot have the same characteristic at multiple levels to make counting more efficient.- Specified by:
getAnnotationsUsageFrequencyin interfaceExpressionExperimentDao- Parameters:
eeIds- IDs ofExpressionExperimentto use for restricting annotations, or null to consider everythinglevel- applicable annotation level, one ofExpressionExperiment,ExperimentalDesignorBioMaterialmaxResults- maximum number of annotations to return, or -1 to return everythingminFrequency- minimum usage frequency to be reported (0 effectively allows everything)category- a category URI or free text category to restrict the results to, or null to consider everything, empty string to consider uncategorized termsretainedTermUris- a collection of term to retain even if they don't meet the minimum frequency criteria
-
getExperimentsLackingPublications
public Collection<ExpressionExperiment> getExperimentsLackingPublications()
- Specified by:
getExperimentsLackingPublicationsin interfaceExpressionExperimentDao
-
updateMeanVarianceRelation
public MeanVarianceRelation updateMeanVarianceRelation(ExpressionExperiment ee, MeanVarianceRelation mvr)
- Specified by:
updateMeanVarianceRelationin interfaceExpressionExperimentDao
-
countBioMaterials
public long countBioMaterials(@Nullable Filters filters)
Description copied from interface:ExpressionExperimentDaoCount the number of biomaterials of datasets satisfying the given filters.The result is stored in the standard query cache.
- Specified by:
countBioMaterialsin interfaceExpressionExperimentDao
-
getArrayDesignsUsed
public Collection<ArrayDesign> getArrayDesignsUsed(BioAssaySet bas)
- Specified by:
getArrayDesignsUsedin interfaceExpressionExperimentDao
-
getArrayDesignsUsed
public Map<ArrayDesign,Collection<Long>> getArrayDesignsUsed(Collection<Long> eeids)
- Specified by:
getArrayDesignsUsedin interfaceExpressionExperimentDao
-
getTechnologyTypeUsageFrequency
public Map<TechnologyType,Long> getTechnologyTypeUsageFrequency()
Description copied from interface:ExpressionExperimentDaoObtain the dataset usage frequency by technology type.If a dataset was switched to a platform of a different technology type, it is counted toward both.
- Specified by:
getTechnologyTypeUsageFrequencyin interfaceExpressionExperimentDao
-
getTechnologyTypeUsageFrequency
public Map<TechnologyType,Long> getTechnologyTypeUsageFrequency(Collection<Long> eeIds)
Description copied from interface:ExpressionExperimentDaoObtain the dataset usage frequency by technology type for the given dataset IDs.Note: No ACL filtering is performed.
- Specified by:
getTechnologyTypeUsageFrequencyin interfaceExpressionExperimentDao- See Also:
ExpressionExperimentDao.getTechnologyTypeUsageFrequency()
-
getArrayDesignsUsageFrequency
public Map<ArrayDesign,Long> getArrayDesignsUsageFrequency(int maxResults)
Description copied from interface:ExpressionExperimentDaoObtain dataset usage frequency by platform currently used.Note that a dataset counts toward all the platforms mentioned through its
BioAssay.This method uses ACLs and the troubled status to only displays the counts of datasets the current user is entitled to see. Only administrator can see troubled platforms.
- Specified by:
getArrayDesignsUsageFrequencyin interfaceExpressionExperimentDao
-
getArrayDesignsUsageFrequency
public Map<ArrayDesign,Long> getArrayDesignsUsageFrequency(Collection<Long> eeIds, int maxResults)
Description copied from interface:ExpressionExperimentDaoObtain dataset usage frequency by platform currently for the given dataset IDs.Note: no ACL filtering is performed. Only administrator can see troubled platforms.
- Specified by:
getArrayDesignsUsageFrequencyin interfaceExpressionExperimentDao- See Also:
ExpressionExperimentDao.getArrayDesignsUsageFrequency(int)
-
getOriginalPlatformsUsageFrequency
public Map<ArrayDesign,Long> getOriginalPlatformsUsageFrequency(int maxResults)
Description copied from interface:ExpressionExperimentDaoObtain dataset usage frequency by original platforms.Note that a dataset counts toward all the platforms mentioned through its
BioAssay. Datasets whose platform hasn't been switched (i.e. the original is the same as the current one) are ignored.This method uses ACLs and the troubled status to only displays the counts of datasets the current user is entitled to see. Only administrators can see troubled platforms.
- Specified by:
getOriginalPlatformsUsageFrequencyin interfaceExpressionExperimentDao
-
getOriginalPlatformsUsageFrequency
public Map<ArrayDesign,Long> getOriginalPlatformsUsageFrequency(Collection<Long> eeIds, int maxResults)
Description copied from interface:ExpressionExperimentDaoObtain dataset usage frequency by platform currently for the given dataset IDs.Note: no ACL filtering is performed. Only administrators can see troubled platforms.
- Specified by:
getOriginalPlatformsUsageFrequencyin interfaceExpressionExperimentDao- See Also:
ExpressionExperimentDao.getOriginalPlatformsUsageFrequency(int)
-
getAuditEvents
public Map<Long,Collection<AuditEvent>> getAuditEvents(Collection<Long> ids)
- Specified by:
getAuditEventsin interfaceExpressionExperimentDao
-
getBioAssayDimensions
public Collection<BioAssayDimension> getBioAssayDimensions(ExpressionExperiment expressionExperiment)
- Specified by:
getBioAssayDimensionsin interfaceExpressionExperimentDao
-
getBioMaterialCount
public long getBioMaterialCount(ExpressionExperiment expressionExperiment)
- Specified by:
getBioMaterialCountin interfaceExpressionExperimentDao
-
getDesignElementDataVectorCount
public long getDesignElementDataVectorCount(ExpressionExperiment ee)
- Specified by:
getDesignElementDataVectorCountin interfaceExpressionExperimentDao- Parameters:
ee- the expression experiment- Returns:
- count of RAW vectors.
-
getExperimentsWithOutliers
public Collection<ExpressionExperiment> getExperimentsWithOutliers()
- Specified by:
getExperimentsWithOutliersin interfaceExpressionExperimentDao
-
getLastArrayDesignUpdate
public Map<Long,Date> getLastArrayDesignUpdate(Collection<ExpressionExperiment> expressionExperiments)
- Specified by:
getLastArrayDesignUpdatein interfaceExpressionExperimentDao
-
getLastArrayDesignUpdate
public Date getLastArrayDesignUpdate(ExpressionExperiment ee)
- Specified by:
getLastArrayDesignUpdatein interfaceExpressionExperimentDao
-
getPerTaxonCount
public Map<Taxon,Long> getPerTaxonCount()
Description copied from interface:ExpressionExperimentDaoObtain the count of distinct experiments per taxon.Experiments are filtered by ACLs and troubled experiments are only visible to administrators.
- Specified by:
getPerTaxonCountin interfaceExpressionExperimentDao
-
getPerTaxonCount
public Map<Taxon,Long> getPerTaxonCount(Collection<Long> ids)
Description copied from interface:ExpressionExperimentDaoObtain the count of distinct experiments per taxon for experiments with the given IDs.Experiments are not filtered by ACLs and toubled experiments are only visible to administrators.
- Specified by:
getPerTaxonCountin interfaceExpressionExperimentDao
-
getPopulatedFactorCounts
public Map<Long,Long> getPopulatedFactorCounts(Collection<Long> ids)
- Specified by:
getPopulatedFactorCountsin interfaceExpressionExperimentDao
-
getPopulatedFactorCountsExcludeBatch
public Map<Long,Long> getPopulatedFactorCountsExcludeBatch(Collection<Long> ids)
- Specified by:
getPopulatedFactorCountsExcludeBatchin interfaceExpressionExperimentDao
-
getQuantitationTypeCount
public Map<QuantitationType,Long> getQuantitationTypeCount(ExpressionExperiment ee)
- Specified by:
getQuantitationTypeCountin interfaceExpressionExperimentDao
-
getQuantitationTypes
public Collection<QuantitationType> getQuantitationTypes(ExpressionExperiment expressionExperiment)
- Specified by:
getQuantitationTypesin interfaceExpressionExperimentDao
-
getPreferredQuantitationType
public QuantitationType getPreferredQuantitationType(ExpressionExperiment ee)
Description copied from interface:ExpressionExperimentDaoObtain the preferred quantitation type, if available.- Specified by:
getPreferredQuantitationTypein interfaceExpressionExperimentDao
-
hasProcessedExpressionData
public boolean hasProcessedExpressionData(ExpressionExperiment ee)
Description copied from interface:ExpressionExperimentDaoTest if the dataset has preferred expression data vectors.- Specified by:
hasProcessedExpressionDatain interfaceExpressionExperimentDao
-
getSampleRemovalEvents
public Map<ExpressionExperiment,Collection<AuditEvent>> getSampleRemovalEvents(Collection<ExpressionExperiment> expressionExperiments)
- Specified by:
getSampleRemovalEventsin interfaceExpressionExperimentDao
-
getSubSets
public Collection<ExpressionExperimentSubSet> getSubSets(ExpressionExperiment expressionExperiment)
- Specified by:
getSubSetsin interfaceExpressionExperimentDao
-
getTaxa
public <T extends BioAssaySet> Map<T,Taxon> getTaxa(Collection<T> bioAssaySets)
- Specified by:
getTaxain interfaceExpressionExperimentDao
-
getTaxon
public Taxon getTaxon(BioAssaySet ee)
- Specified by:
getTaxonin interfaceExpressionExperimentDao
-
loadWithRelationsAndCache
public List<ExpressionExperiment> loadWithRelationsAndCache(List<Long> ids)
Description copied from interface:ExpressionExperimentDaoLoad datasets by IDs with the same relation asCachedFilteringDao.loadWithCache(Filters, Sort).- Specified by:
loadWithRelationsAndCachein interfaceExpressionExperimentDao
-
loadDetailsValueObjects
public Slice<ExpressionExperimentDetailsValueObject> loadDetailsValueObjects(@Nullable Collection<Long> ids, @Nullable Taxon taxon, @Nullable Sort sort, int offset, int limit)
Description copied from interface:ExpressionExperimentDaoSpecial method for front-end access. This is partly redundant withFilteringVoEnabledDao.loadValueObjects(Filters, Sort, int, int); however, it fills in more information, returns ExpressionExperimentDetailsValueObject- Specified by:
loadDetailsValueObjectsin interfaceExpressionExperimentDao- Parameters:
ids- only list specific ids, or null to ignoretaxon- only list EEs in the specified taxon, or null to ignoresort- the field to order the results by.offset- offsetlimit- maximum number of results to return- Returns:
- a list of EE details VOs representing experiments matching the given arguments.
-
loadDetailsValueObjectsByIdsWithCache
public Slice<ExpressionExperimentDetailsValueObject> loadDetailsValueObjectsByIdsWithCache(@Nullable Collection<Long> ids, @Nullable Taxon taxon, @Nullable Sort sort, int offset, int limit)
Description copied from interface:ExpressionExperimentDaoFlavour ofExpressionExperimentDao.loadDetailsValueObjectsByIds(Collection), but using the query cache.- Specified by:
loadDetailsValueObjectsByIdsWithCachein interfaceExpressionExperimentDao
-
loadDetailsValueObjectsByIds
public List<ExpressionExperimentDetailsValueObject> loadDetailsValueObjectsByIds(Collection<Long> ids)
Description copied from interface:ExpressionExperimentDaoLikeExpressionExperimentDao.loadDetailsValueObjects(Collection, Taxon, Sort, int, int), but returning a list.- Specified by:
loadDetailsValueObjectsByIdsin interfaceExpressionExperimentDao
-
loadDetailsValueObjectsByIdsWithCache
public List<ExpressionExperimentDetailsValueObject> loadDetailsValueObjectsByIdsWithCache(Collection<Long> ids)
Description copied from interface:ExpressionExperimentDaoFlavour ofExpressionExperimentDao.loadDetailsValueObjectsByIds(Collection), but using the query cache.- Specified by:
loadDetailsValueObjectsByIdsWithCachein interfaceExpressionExperimentDao
-
loadBlacklistedValueObjects
public Slice<ExpressionExperimentValueObject> loadBlacklistedValueObjects(@Nullable Filters filters, @Nullable Sort sort, int offset, int limit)
- Specified by:
loadBlacklistedValueObjectsin interfaceExpressionExperimentDao
-
loadLackingFactors
public Collection<ExpressionExperiment> loadLackingFactors()
- Specified by:
loadLackingFactorsin interfaceExpressionExperimentDao
-
loadLackingTags
public Collection<ExpressionExperiment> loadLackingTags()
- Specified by:
loadLackingTagsin interfaceExpressionExperimentDao
-
doLoadValueObject
protected ExpressionExperimentValueObject doLoadValueObject(ExpressionExperiment entity)
Description copied from class:AbstractVoEnabledDaoLoad a value object for a given entity.This should be fast and efficient, and avoid any database query or post-processing. If you need to perform additional queries, implement
AbstractVoEnabledDao.postProcessValueObjects(List)instead.- Specified by:
doLoadValueObjectin classAbstractVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>
-
postProcessValueObjects
protected void postProcessValueObjects(List<ExpressionExperimentValueObject> results)
Description copied from class:AbstractVoEnabledDaoPost-process VOs in bulk.Use this as an opportunity to load extra informations that could not be populated in the initial
AbstractVoEnabledDao.doLoadValueObject(Identifiable)orAbstractVoEnabledDao.doLoadValueObjects(Collection)- Overrides:
postProcessValueObjectsin classAbstractVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>
-
loadValueObjects
public List<ExpressionExperimentValueObject> loadValueObjects(@Nullable Filters filters, @Nullable Sort sort)
Description copied from interface:FilteringVoEnabledDaoLoad VOs with minimal ordering and filtering.Use this as an alternative to
FilteringVoEnabledDao.loadValueObjects(Filters, Sort, int, int)if you do not intend to provide pagination capabilities.- Specified by:
loadValueObjectsin interfaceFilteringVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>- Overrides:
loadValueObjectsin classAbstractQueryFilteringVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>- See Also:
FilteringDao.load(Filters, Sort),FilteringVoEnabledDao.loadValueObjects(Filters, Sort, int, int)
-
loadValueObjects
public Slice<ExpressionExperimentValueObject> loadValueObjects(@Nullable Filters filters, @Nullable Sort sort, int offset, int limit)
Description copied from interface:FilteringVoEnabledDaoLoad VOs with ordering, filtering and offset/limit.Consider using
FilteringDao.getFilter(String, Filter.Operator, String)andFilteringDao.getSort(String, Sort.Direction)to produce the filters and sort safely from user input.- Specified by:
loadValueObjectsin interfaceFilteringVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>- Overrides:
loadValueObjectsin classAbstractQueryFilteringVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>- Parameters:
filters- filters applied on the search. The properties mentioned in theFiltermust exist and be visible to Hibernate. You can use nested properties such as "curationDetails.lastUpdated".sort- an object property and direction to order by. This property must exist and be visible to Hibernate. You can use nested properties such as "curationDetails.lastUpdated".offset- an offset from which entities are retrieved when sorted according to the sort argument, or 0 to ignorelimit- a limit on the number of returned results, or -1 to ignore- Returns:
- a slice of the relevant data
- See Also:
FilteringDao.load(Filters, Sort, int, int)
-
getValueObjectTransformer
protected TypedResultTransformer<ExpressionExperimentValueObject> getValueObjectTransformer()
Description copied from class:AbstractQueryFilteringVoEnabledDaoObtain a value object transformer for the results ofAbstractQueryFilteringVoEnabledDao.getFilteringQuery(Filters, Sort).By default, it will process the first element of the tuple with
AbstractVoEnabledDao.doLoadValueObjects(Collection)and then post-process the resulting VOs withAbstractVoEnabledDao.postProcessValueObjects(List).
-
remove
public void remove(ExpressionExperiment ee)
Description copied from interface:BaseDaoRemove a persistent instance- Specified by:
removein interfaceBaseDao<ExpressionExperiment>- Overrides:
removein classAbstractDao<ExpressionExperiment>- Parameters:
ee- the entity to be removed
-
thaw
public void thaw(ExpressionExperiment expressionExperiment)
- Specified by:
thawin interfaceExpressionExperimentDao
-
thawWithoutVectors
public void thawWithoutVectors(ExpressionExperiment ee)
- Specified by:
thawWithoutVectorsin interfaceExpressionExperimentDao
-
thawBioAssays
public void thawBioAssays(ExpressionExperiment expressionExperiment)
- Specified by:
thawBioAssaysin interfaceExpressionExperimentDao
-
thawForFrontEnd
public void thawForFrontEnd(ExpressionExperiment expressionExperiment)
- Specified by:
thawForFrontEndin interfaceExpressionExperimentDao
-
getFilteringQuery
protected Query getFilteringQuery(@Nullable Filters filters, @Nullable Sort sort)
Description copied from class:AbstractQueryFilteringVoEnabledDaoProduce a query for retrieving value objects after applying a set of filters and a given ordering.Note that if your implementation does not produce a
ListofAbstractQueryFilteringVoEnabledDaowhenQuery.list()is invoked, you must overrideAbstractQueryFilteringVoEnabledDao.getValueObjectTransformer().The make the cached query (i.e.
AbstractQueryFilteringVoEnabledDao.loadWithCache(Filters, Sort)behave the same, you also have to explicitly initialize any lazy relations inAbstractVoEnabledDao.doLoadValueObject(Identifiable)because the VO constructor will not initialize them.- Specified by:
getFilteringQueryin classAbstractQueryFilteringVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>- Returns:
- a
Querythat produce a list ofAbstractQueryFilteringVoEnabledDao
-
initializeCachedFilteringResult
protected void initializeCachedFilteringResult(ExpressionExperiment ee)
Description copied from class:AbstractQueryFilteringVoEnabledDaoInitialize a result fromAbstractQueryFilteringVoEnabledDao.getFilteringQuery(Filters, Sort)retrieved from the HibernateStandardQueryCache.Lazy-loaded relations that are fetched in
AbstractQueryFilteringVoEnabledDao.getFilteringQuery(Filters, Sort)must be initialized manually in this method to ensure that the entity has all the expected fields if they are retrieved from the second-level cache.
-
getFilteringIdQuery
protected Query getFilteringIdQuery(@Nullable Filters filters, @Nullable Sort sort)
Description copied from class:AbstractQueryFilteringVoEnabledDaoProduce a query that will be used to retrieve IDs ofAbstractQueryFilteringVoEnabledDao.getFilteringQuery(Filters, Sort).
-
getFilteringCountQuery
protected Query getFilteringCountQuery(@Nullable Filters filters)
Description copied from class:AbstractQueryFilteringVoEnabledDaoProduce a query that will be used to retrieve the size ofAbstractQueryFilteringVoEnabledDao.getFilteringQuery(Filters, Sort).- Overrides:
getFilteringCountQueryin classAbstractQueryFilteringVoEnabledDao<ExpressionExperiment,ExpressionExperimentValueObject>- Returns:
- a
Querywhich must return a singleLongvalue
-
configureFilterableProperties
protected void configureFilterableProperties(AbstractFilteringVoEnabledDao.FilterablePropertiesConfigurer configurer)
Description copied from class:AbstractFilteringVoEnabledDaoRegister filterable properties.- Overrides:
configureFilterablePropertiesin classAbstractCuratableDao<ExpressionExperiment,ExpressionExperimentValueObject>
-
getFilterablePropertyMeta
protected AbstractFilteringVoEnabledDao.FilterablePropertyMeta getFilterablePropertyMeta(String propertyName)
Checks for special properties that are allowed to be referenced on certain objects. E.g. characteristics on EEs. Obtain various meta-information used to infer what to use in aFilterorSort.This is used by
AbstractFilteringVoEnabledDao.getFilter(String, Filter.Operator, String)andAbstractFilteringVoEnabledDao.getSort(String, Sort.Direction).Include filtering by
lastUpdated,troubledandneedsAttentionfrom the associated curation details.- Overrides:
getFilterablePropertyMetain classAbstractCuratableDao<ExpressionExperiment,ExpressionExperimentValueObject>- See Also:
AbstractFilteringVoEnabledDao.getFilter(String, Filter.Operator, String),AbstractFilteringVoEnabledDao.getFilter(String, Filter.Operator, Collection),AbstractFilteringVoEnabledDao.getSort(String, Sort.Direction)
-
-