Class DesignCommitPlan
java.lang.Object
ubic.gemma.persistence.service.expression.experiment.DesignCommitPlan
Side-channel the web-layer design mapper hands to
ExpressionExperimentService.commitCuration(ExpressionExperiment, CurationCommitRequest, boolean) so the
service can, after applying the proposed design, (1) resolve each new entity's clientRef to the
database id it was assigned and (2) wire sample assignments that target freshly-created factor values.
The proposed ExperimentalDesignValueObject carries new entities as
id == null; it cannot express which clientRef each corresponds to, nor can its
bioMaterialAssignments (which reference factor values by Long id) target a not-yet-created factor
value. This plan closes both gaps.
Correlation is order-based. The rebuilt design read after apply sorts factors and factor values by
ascending id, database ids are monotonic in creation order, and creation follows the proposed-items order — so the
k-th newly-created entity corresponds to the k-th recorded clientRef. The preExisting* id sets tell
the service which ids in the rebuilt design are "new" (absent from these sets).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA sample assignment whose target factor value does not exist yet (identified by itsclientRef). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringexistingFactorKey(Long factorId) Parent-key helpers keep the "F:" / "C:" convention in one place.static StringnewFactorKey(String factorClientRef) voidsetNewFactorClientRefs(List<String> newFactorClientRefs) voidsetNewFactorValueClientRefsByParentKey(Map<String, List<String>> newFactorValueClientRefsByParentKey) voidsetPendingAssignments(List<DesignCommitPlan.PendingAssignment> pendingAssignments) voidsetPreExistingFactorIds(Set<Long> preExistingFactorIds) voidsetPreExistingFactorValueIds(Set<Long> preExistingFactorValueIds)
-
Constructor Details
-
DesignCommitPlan
public DesignCommitPlan()
-
-
Method Details
-
getPreExistingFactorIds
-
setPreExistingFactorIds
-
getPreExistingFactorValueIds
-
setPreExistingFactorValueIds
-
getNewFactorClientRefs
-
setNewFactorClientRefs
-
getNewFactorValueClientRefsByParentKey
-
setNewFactorValueClientRefsByParentKey
-
getPendingAssignments
-
setPendingAssignments
-
existingFactorKey
-
newFactorKey
-