Interface PrincipalComponentAnalysisReadService
- All Known Implementing Classes:
PrincipalComponentAnalysisReadServiceImpl
PrincipalComponentAnalysis.
Phase 3 of the PrincipalComponentAnalysisService decomposition
(strangler fig). This service houses the three read methods previously
implemented directly on the PrincipalComponentAnalysisServiceImpl
facade: getTopLoadedProbes, loadForExperiment, and
existsByExperiment. Each delegates to the matching
PrincipalComponentAnalysisDao method (with
loadForExperiment additionally logging when more than one PCA is
found and returning an arbitrary one for backward compatibility).
Write-side methods (create, removeForExperiment, and the
inherited BaseImmutableService mutators) stay on the
PrincipalComponentAnalysisService facade.
Callers should generally keep using PrincipalComponentAnalysisService
as the facade -- the facade delegates to this service. Direct injection is
appropriate where a class is logically read-only.
ACL / @Secured annotations live on
PrincipalComponentAnalysisService (the caller-facing facade
interface); enforcement happens at the facade proxy boundary, not here. The
read methods on the facade carry
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY", "ACL_SECURABLE_READ"}).
The new read impl is unsecured at the AOP boundary on purpose --
intra-gemma-core callers that already hold an authenticated session
bypass duplicate ACL checks.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbooleangetTopLoadedProbes(ExpressionExperiment ee, int component, int count)
-
Method Details
-
getTopLoadedProbes
-
loadForExperiment
-
existsByExperiment
-