Class DatasetsWebService.FactorValueCommit
- Enclosing class:
DatasetsWebService
- Author:
- tesarst
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleannull= leave the baseline flag unchanged.Samples this value applies to, byBioMaterialid — the identifierGET /datasets/{id}/designalready reports asbioMaterialAssignments[].bioMaterialId.Deprecated.The value's human-readable label.com.fasterxml.jackson.databind.JsonNodeVerbatim provenance for this factor VALUE — a JSON array of{quote, source, location, …}items.inthashCode()voidsetBaseline(Boolean baseline) null= leave the baseline flag unchanged.voidsetBiomaterialIds(List<Long> biomaterialIds) Samples this value applies to, byBioMaterialid — the identifierGET /datasets/{id}/designalready reports asbioMaterialAssignments[].bioMaterialId.voidsetBiomaterialShortNames(List<String> biomaterialShortNames) Deprecated.usebiomaterialIds.voidsetFreeTextLabel(String freeTextLabel) The value's human-readable label.voidsetMeasurement(DatasetsWebService.MeasurementRef measurement) voidvoidsetSupportingEvidence(com.fasterxml.jackson.databind.JsonNode supportingEvidence) Verbatim provenance for this factor VALUE — a JSON array of{quote, source, location, …}items.toString()Methods inherited from class DatasetsWebService.EntityRef
getClientRef, getGemmaId, setClientRef, setGemmaId
-
Constructor Details
-
FactorValueCommit
public FactorValueCommit()
-
-
Method Details
-
getFreeTextLabel
The value's human-readable label.🛑 On a CONTINUOUS factor this must equal
measurement.value, or the commit is a 409 ("the value of the factor must match the measurement value"). The obvious client move is to keep the submitter's own string —"20 days"against a measurement of"20"— and that is the case this rejects (cab, 2026-09-04). Send the bare number as the label, or omit the label and let the measurement speak. -
getBaseline
null= leave the baseline flag unchanged. -
getMeasurement
-
getBiomaterialShortNames
Deprecated.usebiomaterialIds. Scheduled for removal — Paul, 2026-09-05: "as a choice of way to parameterize, we should not allow it, by removing that as an option for the endpoints. Deprecation is the right step now." Kept working meanwhile so no existing caller breaks.A name is not an addressing form. It is not guaranteed to EXIST — a single-cell sub-bioassay has no accession of its own — and not guaranteed to be UNIQUE: on GEO-sourced single-cell data every sub-bioassay descends from one GSM, so that accession names fifteen samples rather than one. Such a name is now a 400 rather than an arbitrary pick.
An id, by contrast, always exists here: these endpoints never add or remove a dataset's samples, so every sample a commit can refer to was already persisted and already has one. That is what makes removal safe rather than merely desirable — there is no new-entity case for samples, and
clientRefcovers the entities a commit genuinely does create. -
getBiomaterialIds
Samples this value applies to, byBioMaterialid — the identifierGET /datasets/{id}/designalready reports asbioMaterialAssignments[].bioMaterialId. Authoritative when present:biomaterialShortNamesis ignored on the same item.🛑 The id is the only identifier every sample has. Names do not survive two cases that are not edge cases:
- a dataset that did not come from GEO has no accession to send, and
- a single-cell sub-bioassay has none by construction — many descend from one GSM, so no accession can name one of them. Measured on GSE124952 subset 68405 (uib, 2026-09-05): 15 sub-bioassays, 15 distinct biomaterial ids, 0 accessions.
Same
null= leave untouched,[]= clear convention as the names field. -
getSupportingEvidence
@Nullable public com.fasterxml.jackson.databind.JsonNode getSupportingEvidence()Verbatim provenance for this factor VALUE — a JSON array of{quote, source, location, …}items. Stored and served opaquely; the agents repo owns the schema.🛑 Not a fallback for
DatasetsWebService.StatementCommit.getSupportingEvidence()and not superseded by it. A statement's evidence backs its triple; this backs the value — its label, its baseline flag, its measurement, the samples it covers — and a value carrying no statements at all (a continuous value, a plain free-text one) still has a curator behind those choices. Both may be sent on one commit and both are kept.Null / omitted leaves any evidence already recorded untouched, same as everywhere else on this route.
🛑 An EMPTY ARRAY is the same as omitting it, NOT an erase. A payload built from a reference file stamps
[]on every entity that has no evidence, and reading that as "clear it" would wipe stored provenance on every entity such a write touches while reporting an ordinary success. There is deliberately no way to clear evidence through this route. -
getStatements
-
setFreeTextLabel
The value's human-readable label.🛑 On a CONTINUOUS factor this must equal
measurement.value, or the commit is a 409 ("the value of the factor must match the measurement value"). The obvious client move is to keep the submitter's own string —"20 days"against a measurement of"20"— and that is the case this rejects (cab, 2026-09-04). Send the bare number as the label, or omit the label and let the measurement speak. -
setBaseline
null= leave the baseline flag unchanged. -
setMeasurement
-
setBiomaterialShortNames
Deprecated.usebiomaterialIds. Scheduled for removal — Paul, 2026-09-05: "as a choice of way to parameterize, we should not allow it, by removing that as an option for the endpoints. Deprecation is the right step now." Kept working meanwhile so no existing caller breaks.A name is not an addressing form. It is not guaranteed to EXIST — a single-cell sub-bioassay has no accession of its own — and not guaranteed to be UNIQUE: on GEO-sourced single-cell data every sub-bioassay descends from one GSM, so that accession names fifteen samples rather than one. Such a name is now a 400 rather than an arbitrary pick.
An id, by contrast, always exists here: these endpoints never add or remove a dataset's samples, so every sample a commit can refer to was already persisted and already has one. That is what makes removal safe rather than merely desirable — there is no new-entity case for samples, and
clientRefcovers the entities a commit genuinely does create. -
setBiomaterialIds
Samples this value applies to, byBioMaterialid — the identifierGET /datasets/{id}/designalready reports asbioMaterialAssignments[].bioMaterialId. Authoritative when present:biomaterialShortNamesis ignored on the same item.🛑 The id is the only identifier every sample has. Names do not survive two cases that are not edge cases:
- a dataset that did not come from GEO has no accession to send, and
- a single-cell sub-bioassay has none by construction — many descend from one GSM, so no accession can name one of them. Measured on GSE124952 subset 68405 (uib, 2026-09-05): 15 sub-bioassays, 15 distinct biomaterial ids, 0 accessions.
Same
null= leave untouched,[]= clear convention as the names field. -
setSupportingEvidence
public void setSupportingEvidence(@Nullable com.fasterxml.jackson.databind.JsonNode supportingEvidence) Verbatim provenance for this factor VALUE — a JSON array of{quote, source, location, …}items. Stored and served opaquely; the agents repo owns the schema.🛑 Not a fallback for
DatasetsWebService.StatementCommit.getSupportingEvidence()and not superseded by it. A statement's evidence backs its triple; this backs the value — its label, its baseline flag, its measurement, the samples it covers — and a value carrying no statements at all (a continuous value, a plain free-text one) still has a curator behind those choices. Both may be sent on one commit and both are kept.Null / omitted leaves any evidence already recorded untouched, same as everywhere else on this route.
🛑 An EMPTY ARRAY is the same as omitting it, NOT an erase. A payload built from a reference file stamps
[]on every entity that has no evidence, and reading that as "clear it" would wipe stored provenance on every entity such a write touches while reporting an ordinary success. There is deliberately no way to clear evidence through this route. -
setStatements
public void setStatements(DatasetsWebService.Section<DatasetsWebService.StatementCommit> statements) -
toString
- Overrides:
toStringin classDatasetsWebService.EntityRef
-
equals
- Overrides:
equalsin classDatasetsWebService.EntityRef
-
canEqual
- Overrides:
canEqualin classDatasetsWebService.EntityRef
-
hashCode
public int hashCode()- Overrides:
hashCodein classDatasetsWebService.EntityRef
-
biomaterialIds.