Deprecated API
Contents
-
Deprecated InterfacesInterfaceDescriptionSupplanted by the curation agent's own GEO scraping, currently
scrape_geo_and_open_triage.py. The agent discovers candidates, decides what is worth preboarding, and opens its own triage ticket, so Gemma no longer needs to run the scrape itself.Nothing here is removed yet and it still works. What it does that the agent must therefore also do: it creates the
PreboardedExperimentrows, writes theGeoScrapeWatermarkaudit row, and opens ONESCREENINGticket per batch targeting that watermark -- deliberately not one per candidate.The preboarded write API the agent uses instead is
POST /preboarded+POST /preboarded/{id}/annotation-sets, withGET /workflow/queue?datasetType=preboarded_experimentfor the queue.Supplanted by the curation agent's own GEO scraping, currentlyscrape_geo_and_open_triage.py. The agent discovers candidates, decides what is worth preboarding, and opens its own triage ticket, so Gemma no longer needs to run the scrape itself.Nothing here is removed yet and it still works. What it does that the agent must therefore also do: it creates the
PreboardedExperimentrows, writes theGeoScrapeWatermarkaudit row, and opens ONESCREENINGticket per batch targeting that watermark -- deliberately not one per candidate.The preboarded write API the agent uses instead is
POST /preboarded+POST /preboarded/{id}/annotation-sets, withGET /workflow/queue?datasetType=preboarded_experimentfor the queue.this interface only exists as a compatibility shim while callers migrate offCuratable#getCurationDetails(). New code should queryTicketServicedirectly. The shim — and the underlyingCurationDetailsentity — will be retired once all callers move over.as Person is deprecated
-
Deprecated ClassesClassDescriptionThis has been replaced with Spring-based configuration
SettingsConfigand usage ofValueto inject configurations. You can use@Value("${property}")as replacement.This has been replaced with Spring-based configurationSettingsConfigand usage ofValueto inject configurations. You can use@Value("${property}")as replacement.this ontology was last updated in unmaintained since 2013Nothing calls this any more (Paul, 2026-09-04): we do not map submitter text onto preset ontology terms on import. Both callers are gone —GeoConverterImplandLoadSimpleExpressionDataCli— so a value written by a submitter now survives the load unchanged and grounding is a curation decision rather than something a loader guesses from a 1,386-row lookup table.🛑 Kept rather than deleted, and the mapping file with it. The table is a reviewed body of value → term decisions built up over years; it is the obvious starting point for a curation-side suggester, and re-deriving it would be expensive.
GeoTermReplacementTeststill validates that its URIs resolve, which is what stops it rotting while it sits unused.Do not wire it back into a loader. If a caller wants these terms, the decision to apply one belongs to a curator or to an agent proposing to a curator, not to the import path.
Supplanted by the curation agent's own GEO scraping, currentlyscrape_geo_and_open_triage.py. The agent discovers candidates, decides what is worth preboarding, and opens its own triage ticket, so Gemma no longer needs to run the scrape itself.Nothing here is removed yet and it still works. What it does that the agent must therefore also do: it creates the
PreboardedExperimentrows, writes theGeoScrapeWatermarkaudit row, and opens ONESCREENINGticket per batch targeting that watermark -- deliberately not one per candidate.The preboarded write API the agent uses instead is
POST /preboarded+POST /preboarded/{id}/annotation-sets, withGET /workflow/queue?datasetType=preboarded_experimentfor the queue.this event type was used by the auto-tagger, which has been removed. This event type has been kept so that the audit-trails can still properly display these events, but creation new events of this type should not occur.useTicketService.curation notes will be migrated to ticket comments viaTicketService.addComment(Ticket, Contact, String)once the curation-note ↔ ticket mapping lands (seeCURATION_DETAILS_RETIREMENT.md). Until then this event is still emitted byDatasetsWebService.updateDatasetCurationDetailsso the legacycurationNotefield onCurationDetailsstays populated.resolve the openGENERIC/BATCH_INFO_NEEDEDticket(s) targeting the entity viaTicketService.transition(Ticket, TicketState, Contact, String)(target stateTicketState.RESOLVED). SeeCurationDetailsEventfor the full migration map.seeCurationDetailsEvent— the needs-attention flag is being replaced by openGENERIC/BATCH_INFO_NEEDEDtickets.open aGENERICticket (orTicketType.BATCH_INFO_NEEDEDwhen the trigger is missing batch information) viaTicketService.openTicket(Contact, TicketType, String, Collection)instead. SeeCurationDetailsEventfor the full migration map.resolve the openQUALITY_REVIEWticket(s) viaTicketService.transition(Ticket, TicketState, Contact, String)instead (target stateTicketState.RESOLVED). SeeCurationDetailsEventfor the full migration map.seeCurationDetailsEvent— the trouble flag is being replaced by openQUALITY_REVIEWtickets.open aQUALITY_REVIEWticket viaTicketService.openTicket(Contact, TicketType, String, Collection)instead. SeeCurationDetailsEventfor the full migration map.not neededaim towards using theFactorValueBasicValueObject. This one is confusing. Once usage of this type has been completely phased out, revise the BioMaterialValueObject and relevant DAOs and Services.as Person is deprecated
-
Deprecated FieldsFieldDescriptionuse
Values.SINGLE_CELL_RNA_SEQUENCING_ASSAYinsteaduseValues.SINGLE_CELL_RNA_SEQUENCING_ASSAYinstead
-
Deprecated MethodsMethodDescriptionthis method does not support producing Gemma Web contexts, please migrate existing code to use
SpringContextUtils.getApplicationContext(String[], String...)instead.modifying the matrix directly is not recommended, make a copy instead.useExpressionDataMatrix.getDesignElementForRow(int)insteaduseExpressionDataMatrix.getDesignElements()insteaduseOntologyResource.getLabel()instead.useOntologyResource.isObsolete()insteaduseOntologyService.initialize(InputStream, boolean)instead and possiblyOntologyService.cancelInitializationThread()prior to get any running initialization thread out of the wayuseAclEntryAfterInvocationCollectionFilteringProvider.hasPermission(Authentication, List)instead to benefit from bulk-loading of ACLsuseAclEntryAfterInvocationCollectionFilteringProvider.hasPermission(Authentication, List)instead to benefit from bulk-loading of ACLsThis was renamed for clarity.you should never use this property, rely instead on the actual type viaObject.getClass().by omission rather than by policy: aRelationInferenceDirection.TYPED_OBJECT_REQUIREDpredicate cannot be answered without the object's category and comes backRelationInferenceDirection.NEITHERhere. That fails closed, which is the right way for it to fail, but a caller holding a whole row should pass the fourth argument and get the real answer.useArrayDesignValueObject.getTaxonObject()insteadUseCellTypeAssignment.getCellTypes()instead.UseCellTypeAssignment.getCellTypeIndices()instead.UseCellTypeAssignment.getNumberOfCellTypes()instead.Do not use, there's never been an accession field in the data model.useExpressionExperimentValueObject.getTaxonObject()insteaduseFactorValue.getMeasurement()orFactorValue.getCharacteristics()to retrieve the value.useStatement.getSubject()insteaduseStatement.getSubjectUri()insteaduseStatement.setSubject(String)insteaduseStatement.setSubjectUri(String)insteaduseEeWriteService.create(ExpressionExperiment, ArrayDesignsForExperimentCache)directly. Retained only so test fixtures that hitPersisterHelper.persist(ExpressionExperiment, ArrayDesignsForExperimentCache)keep working.useExpressionExperimentPrePersistService.prepare(ExpressionExperiment)directly. Retained only so test fixtures that hitPersisterHelper.prepare(ExpressionExperiment)keep working.avoid using this if possible and ensure that all operations are properly enclosed by a single Hibernate sessionavoid using this if possible and ensure that all operations are properly enclosed by a single Hibernate sessionUseBulkExpressionDataVectorService.findAndThaw(QuantitationType),BulkExpressionDataVectorService.findAndThaw(Collection)orBulkExpressionDataVectorService.findAndThaw(BioAssayDimension)instead, it's much more efficient.do not use this, it is only a workaround to make FV migration fasterbecauseFactorValue.getValue()is deprecateddo not use, this is only for migrating old-style characteristics to statements and will be removeddo not use, this is only for migrating old-style characteristics to statements and will be removedbecauseFactorValue.getValue()is deprecateddo not use, this is only for migrating old-style characteristics to statements and will be removeddo not use this, it is only meant for the purpose of migrating old-style characteristics to statementsdo not use this, it is meant for FactorValue migration onlypreferFilterJpaUtils.formRestrictionClause(CriteriaBuilder, CommonAbstractCriteria, Root, Filters)soinSubqueryfilters can resolve.
-
Deprecated Enum ConstantsEnum ConstantDescriptionubic.gemma.persistence.service.expression.experiment.ExpressionExperimentMetaFileType.MULTIQC_REPORTkept for backward-compatibility since we expose this for
addMetadataFile --file-type.