From 0b34bf061b93caf7c5c69115148c1c00b2126787 Mon Sep 17 00:00:00 2001 From: tpylak <tpylak> Date: Tue, 19 Jul 2011 11:17:08 +0000 Subject: [PATCH] LMS-2355 analysis procedures: set initial value in material detail view (normal mode) SVN: 22207 --- .../MaterialMergedSummarySection.java | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialMergedSummarySection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialMergedSummarySection.java index 547750054a6..ce5fb4f95e9 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialMergedSummarySection.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialMergedSummarySection.java @@ -31,22 +31,25 @@ class MaterialMergedSummarySection extends DisposableTabContent private final boolean restrictGlobalScopeLinkToProject; - private ExperimentSearchCriteriaHolder experimentSearchCriteriaHolder; + private final ExperimentSearchCriteriaHolder experimentSearchCriteriaHolder; - private AnalysisProcedureListenerHolder analysisProcedureListenerHolder = + private final AnalysisProcedureListenerHolder analysisProcedureListenerHolder = new AnalysisProcedureListenerHolder(); + private AnalysisProcedureCriteria initialAnalysisProcedureCriteriaOrNull; + // TODO 2011-07-19, Tomasz Pylak: use analysisProcedureCriteria public MaterialMergedSummarySection( IViewContext<IScreeningClientServiceAsync> screeningViewContext, Material material, ExperimentSearchCriteria experimentCriteriaOrNull, - AnalysisProcedureCriteria analysisProcedureCriteria, + AnalysisProcedureCriteria initialAnalysisProcedureCriteriaOrNull, boolean restrictGlobalScopeLinkToProject) { super(screeningViewContext.getMessage(Dict.MATERIAL_MERGED_SUMMARY_SECTION_TITLE), screeningViewContext, material); this.screeningViewContext = screeningViewContext; this.material = material; + this.initialAnalysisProcedureCriteriaOrNull = initialAnalysisProcedureCriteriaOrNull; this.restrictGlobalScopeLinkToProject = restrictGlobalScopeLinkToProject; this.experimentSearchCriteriaHolder = new ExperimentSearchCriteriaHolder(experimentCriteriaOrNull); @@ -99,6 +102,7 @@ class MaterialMergedSummarySection extends DisposableTabContent IDisposableComponent allExperimentsComponent = MaterialFeaturesFromAllExperimentsComponent.createComponent(screeningViewContext, material, experimentSearchCriteria, analysisProcedureListenerHolder); + setInitialAnalysisProcedureCriteriaAndReset(); return allExperimentsComponent; } @@ -108,9 +112,24 @@ class MaterialMergedSummarySection extends DisposableTabContent MaterialReplicaSummaryComponent .createViewer(screeningViewContext, experiment, material, restrictGlobalScopeLinkToProject, analysisProcedureListenerHolder); + setInitialAnalysisProcedureCriteriaAndReset(); return viewer; } + /** + * The first time when the grid is shown, we set the initial analysis procedure. Later on the + * user choice is kept. + */ + private void setInitialAnalysisProcedureCriteriaAndReset() + { + if (initialAnalysisProcedureCriteriaOrNull != null) + { + analysisProcedureListenerHolder.getAnalysisProcedureListener() + .analysisProcedureSelected(initialAnalysisProcedureCriteriaOrNull); + initialAnalysisProcedureCriteriaOrNull = null; + } + } + @Override protected IDisposableComponent createDisposableContent() { -- GitLab