Class ExpressionExperimentWriteServiceImpl
- All Implemented Interfaces:
ExpressionExperimentWriteService
ExpressionExperimentWriteService.
All public methods are @Transactional (write). ACL enforcement is the responsibility
of the facade ExpressionExperimentService interface -- this class is unsecured at the
AOP boundary on purpose, so that intra-gemma-core callers that hold an authenticated
session can bypass duplicate ACL checks.
For lifecycle removal, the heavy orchestration is preserved verbatim from the original
monolith: subset removal, DEA / sample-coex / PCA cleanup, then removal from EE sets, then
delegation to the DAO. The subset lookup goes directly through the DAO
(expressionExperimentDao.getSubSets(ee)) so this service has no back-edge into
ExpressionExperimentReadService and therefore introduces no new construction cycle.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionExpressionExperimentWriteServiceImpl(ExpressionExperimentDao expressionExperimentDao) -
Method Summary
Modifier and TypeMethodDescriptionvoidWill add the characteristic to the expression experiment and persist the changes.addFactor(ExpressionExperiment ee, ExperimentalFactor factor) voidaddFactorValues(ExpressionExperiment ee, Map<BioMaterial, FactorValue> fvs) static Class<? extends PreferredDataChangedEvent> getPreferredDataChangedEventForVectorType(Class<? extends DataVector> vectorType) Resolve the concretePreferredDataChangedEventsubclass that matches a data-vector type, ornullif no event is emitted for that vector type (currently: processed data — multiple processed sets are not allowed so a "preference change" has no meaning).voidremove(Collection<ExpressionExperiment> entities) voidDeletes an experiment and all of its associated objects, including coexpression links.voidremoveCharacteristics(ExpressionExperiment ee, Collection<Characteristic> characteristicsToRemove) voidupdateQuantitationType(ExpressionExperiment ee, QuantitationType qt, QuantitationType previousPreferredQt)
-
Constructor Details
-
ExpressionExperimentWriteServiceImpl
@Autowired public ExpressionExperimentWriteServiceImpl(ExpressionExperimentDao expressionExperimentDao)
-
-
Method Details
-
addFactor
@Transactional public ExperimentalFactor addFactor(ExpressionExperiment ee, ExperimentalFactor factor) - Specified by:
addFactorin interfaceExpressionExperimentWriteService
-
addFactorValue
- Specified by:
addFactorValuein interfaceExpressionExperimentWriteService
-
addFactorValues
@Transactional public void addFactorValues(ExpressionExperiment ee, Map<BioMaterial, FactorValue> fvs) - Specified by:
addFactorValuesin interfaceExpressionExperimentWriteService
-
addCharacteristic
Will add the characteristic to the expression experiment and persist the changes.- Specified by:
addCharacteristicin interfaceExpressionExperimentWriteService- Parameters:
ee- the experiment to add the characteristics to.vc- If the evidence code is null, it will be filled in with IC. A category and value must be provided.
-
removeCharacteristics
@Transactional public void removeCharacteristics(ExpressionExperiment ee, Collection<Characteristic> characteristicsToRemove) - Specified by:
removeCharacteristicsin interfaceExpressionExperimentWriteService
-
updateQuantitationType
@Transactional public void updateQuantitationType(ExpressionExperiment ee, QuantitationType qt, @Nullable QuantitationType previousPreferredQt) - Specified by:
updateQuantitationTypein interfaceExpressionExperimentWriteService
-
getPreferredDataChangedEventForVectorType
@Nullable public static Class<? extends PreferredDataChangedEvent> getPreferredDataChangedEventForVectorType(Class<? extends DataVector> vectorType) Resolve the concretePreferredDataChangedEventsubclass that matches a data-vector type, ornullif no event is emitted for that vector type (currently: processed data — multiple processed sets are not allowed so a "preference change" has no meaning).public staticso theAudited.valueSpel()SpEL expressions inExpressionExperimentWriteAuditServiceImplcan reach it viaT(...).getPreferredDataChangedEventForVectorType(#vectorType). -
updateMeanVarianceRelation
@Transactional public MeanVarianceRelation updateMeanVarianceRelation(ExpressionExperiment ee, MeanVarianceRelation mvr) - Specified by:
updateMeanVarianceRelationin interfaceExpressionExperimentWriteService
-
remove
Deletes an experiment and all of its associated objects, including coexpression links. Some types of associated objects may need to be deleted before this can be run (example: analyses involving multiple experiments; these will not be deleted automatically).- Specified by:
removein interfaceExpressionExperimentWriteService
-
remove
- Specified by:
removein interfaceExpressionExperimentWriteService
-