From 05b35f7fc19269d07dbc7f60c6e893011354ea65 Mon Sep 17 00:00:00 2001
From: brinn <brinn>
Date: Wed, 17 Aug 2011 10:39:26 +0000
Subject: [PATCH] change: avoid storing the view context in the base-base and
 the sub-class fix: compile warning about a field shadowing a field of the
 base-class

SVN: 22537
---
 .../LogicalImageDatasetSection.java           | 21 ++++++++-------
 .../PlateLayoutDatasetSection.java            | 21 ++++++++-------
 .../PlateLayoutSampleSection.java             | 26 ++++++++++---------
 .../detailviewers/WellSearchGrid.java         | 23 +++++++++-------
 .../ImagingMaterialLocatorResolver.java       | 16 +++++++-----
 5 files changed, 62 insertions(+), 45 deletions(-)

diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageDatasetSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageDatasetSection.java
index 2ca0e226030..7af28e0505c 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageDatasetSection.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageDatasetSection.java
@@ -41,31 +41,34 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.LogicalImageIn
  */
 public class LogicalImageDatasetSection extends TabContent
 {
-    private final ScreeningViewContext viewContext;
-
     private final ExternalData dataset;
 
     public LogicalImageDatasetSection(final ScreeningViewContext viewContext,
             final ExternalData dataset)
     {
         super("Images", viewContext, dataset);
-        this.viewContext = viewContext;
         this.dataset = dataset;
         setIds(DisplayTypeIDGenerator.LOGICAL_IMAGE_DATASET_SECTION);
     }
 
+    private ScreeningViewContext getViewContext()
+    {
+        return (ScreeningViewContext) viewContext;
+    }
+
     @Override
     protected void showContent()
     {
-        add(new Text(viewContext.getMessage(Dict.LOAD_IN_PROGRESS)));
+        final ScreeningViewContext context = getViewContext();
+        add(new Text(context.getMessage(Dict.LOAD_IN_PROGRESS)));
 
-        viewContext.getService().getImageDatasetInfo(dataset.getCode(),
-                dataset.getDataStore().getCode(), null, createDisplayCallback(viewContext));
+        context.getService().getImageDatasetInfo(dataset.getCode(),
+                dataset.getDataStore().getCode(), null, createDisplayCallback());
     }
 
-    private AsyncCallback<LogicalImageInfo> createDisplayCallback(final ScreeningViewContext context)
+    private AsyncCallback<LogicalImageInfo> createDisplayCallback()
     {
-        return new AbstractAsyncCallback<LogicalImageInfo>(context)
+        return new AbstractAsyncCallback<LogicalImageInfo>(getViewContext())
             {
                 @Override
                 protected void process(LogicalImageInfo imageInfo)
@@ -92,7 +95,7 @@ public class LogicalImageDatasetSection extends TabContent
                         dataset.getDataStore().getHostUrl(), imageInfo.getImageParameters());
         LogicalImageViewer viewer =
                 new LogicalImageViewer(logicalImageReference,
-                        LogicalImageDatasetSection.this.viewContext, identifier, experimentPermId,
+                        LogicalImageDatasetSection.this.getViewContext(), identifier, experimentPermId,
                         true);
         Widget viewerWidget = viewer.getViewerWidget(imageInfo.getChannelStacks());
         return viewerWidget;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java
index fcdfed02198..1a18c25dcf4 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java
@@ -40,30 +40,33 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateImages;
  */
 public class PlateLayoutDatasetSection extends TabContent
 {
-    private final ScreeningViewContext viewContext;
-
     private final TechId datasetId;
 
     public PlateLayoutDatasetSection(final ScreeningViewContext viewContext, final TechId datasetId)
     {
         super("Plate Layout", viewContext, datasetId);
-        this.viewContext = viewContext;
         this.datasetId = datasetId;
         setIds(DisplayTypeIDGenerator.PLATE_LAYOUT_DATASET_SECTION);
     }
 
+    private ScreeningViewContext getViewContext()
+    {
+        return (ScreeningViewContext) viewContext;
+    }
+
     @Override
     protected void showContent()
     {
-        add(new Text(viewContext.getMessage(Dict.LOAD_IN_PROGRESS)));
+        final ScreeningViewContext context = getViewContext();
+        add(new Text(context.getMessage(Dict.LOAD_IN_PROGRESS)));
 
-        viewContext.getService().getPlateContentForDataset(datasetId,
-                createDisplayPlateCallback(viewContext));
+        context.getService().getPlateContentForDataset(datasetId,
+                createDisplayPlateCallback());
     }
 
-    private AsyncCallback<PlateImages> createDisplayPlateCallback(final ScreeningViewContext context)
+    private AsyncCallback<PlateImages> createDisplayPlateCallback()
     {
-        return new AbstractAsyncCallback<PlateImages>(context)
+        return new AbstractAsyncCallback<PlateImages>(getViewContext())
             {
                 @Override
                 protected void process(PlateImages plateContent)
@@ -82,7 +85,7 @@ public class PlateLayoutDatasetSection extends TabContent
     private void renderPlate(PlateImages plateImages)
     {
         LayoutContainer container = new LayoutContainer();
-        container.add(PlateLayouter.createVisualization(plateImages, viewContext));
+        container.add(PlateLayouter.createVisualization(plateImages, getViewContext()));
         add(container, LayoutUtils.createRowLayoutSurroundingData());
     }
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java
index d4d0a598afd..cc3bddac11e 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java
@@ -61,29 +61,31 @@ public class PlateLayoutSampleSection extends TabContent
 
     // ----
 
-    private final ScreeningViewContext viewContext;
-
     private final TechId sampleId;
 
     public PlateLayoutSampleSection(final ScreeningViewContext viewContext, final TechId sampleId)
     {
         super("Plate Layout", viewContext, sampleId);
-        this.viewContext = viewContext;
         this.sampleId = sampleId;
         setIds(DisplayTypeIDGenerator.PLATE_LAYOUT_SAMPLE_SECTION);
     }
 
+    private ScreeningViewContext getViewContext()
+    {
+        return (ScreeningViewContext) viewContext;
+    }
+
     @Override
     protected void showContent()
     {
-        add(new Text(viewContext.getMessage(Dict.LOAD_IN_PROGRESS)));
-        viewContext.getService().getPlateContent(sampleId, createDisplayPlateCallback(viewContext));
+        final ScreeningViewContext context = getViewContext();
+        add(new Text(context.getMessage(Dict.LOAD_IN_PROGRESS)));
+        context.getService().getPlateContent(sampleId, createDisplayPlateCallback());
     }
 
-    private AsyncCallback<PlateContent> createDisplayPlateCallback(
-            final ScreeningViewContext context)
+    private AsyncCallback<PlateContent> createDisplayPlateCallback()
     {
-        return new AbstractAsyncCallback<PlateContent>(context)
+        return new AbstractAsyncCallback<PlateContent>(getViewContext())
             {
                 @Override
                 protected void process(PlateContent plateContent)
@@ -103,7 +105,7 @@ public class PlateLayoutSampleSection extends TabContent
 
     private void addUnknownDatasetLinks(PlateContent plateContent)
     {
-        ImagingDatasetGuiUtils guiUtils = new ImagingDatasetGuiUtils(viewContext);
+        ImagingDatasetGuiUtils guiUtils = new ImagingDatasetGuiUtils(getViewContext());
         Widget w = guiUtils.tryCreateUnknownDatasetsLinks(plateContent.getUnknownDatasets());
         if (w != null)
         {
@@ -114,10 +116,10 @@ public class PlateLayoutSampleSection extends TabContent
     private void addPlateVisualisation(PlateContent plateContent)
     {
         PlateMetadata plateMetadata = plateContent.getPlateMetadata();
-        PlateLayouter plateLayouter = new PlateLayouter(viewContext, plateMetadata);
+        PlateLayouter plateLayouter = new PlateLayouter(getViewContext(), plateMetadata);
 
         List<ImageDatasetEnrichedReference> imageDatasets = plateContent.getImageDatasets();
-        ImagingDatasetGuiUtils guiUtils = new ImagingDatasetGuiUtils(viewContext);
+        ImagingDatasetGuiUtils guiUtils = new ImagingDatasetGuiUtils(getViewContext());
         Widget imageDatasetDetailsRow =
                 guiUtils.createImageDatasetDetailsRow(imageDatasets,
                         asImageDatasetUpdater(plateLayouter));
@@ -188,7 +190,7 @@ public class PlateLayoutSampleSection extends TabContent
     private void addPlateMetadataReportLink(final PlateContent plateContent)
     {
         Sample plate = plateContent.getPlateMetadata().getPlate();
-        Widget generateLink = createPlateMetadataLink(plate, viewContext);
+        Widget generateLink = createPlateMetadataLink(plate, getViewContext());
         add(ImagingDatasetGuiUtils.withLabel(generateLink, PLATE_METADATA_REPORT_LABEL),
                 LayoutUtils.createRowLayoutSurroundingData());
     }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellSearchGrid.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellSearchGrid.java
index 9826a181c0e..3e0db00f80b 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellSearchGrid.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellSearchGrid.java
@@ -258,7 +258,7 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
             });
     }
 
-    private final IViewContext<IScreeningClientServiceAsync> viewContext;
+    private final IViewContext<IScreeningClientServiceAsync> screeningViewContext;
 
     private final MaterialSearchCriteria materialCriteria;
 
@@ -279,7 +279,7 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
     {
         super(viewContext.getCommonViewContext(), BROWSER_ID, false,
                 DisplayTypeIDGenerator.PLATE_MATERIAL_REVIEWER);
-        this.viewContext = viewContext;
+        this.screeningViewContext = viewContext;
 
         this.restrictGlobalScopeLinkToProject = restrictGlobalScopeLinkToProject;
         this.experimentCriteriaHolder =
@@ -297,6 +297,11 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
         linkImageAnalysisDataSet();
     }
 
+    private IViewContext<IScreeningClientServiceAsync> getViewContext()
+    {
+        return screeningViewContext;
+    }
+
     private static IDefaultChannelState createDefaultChannelState(
             final IViewContext<IScreeningClientServiceAsync> viewContext,
             ExperimentSearchCriteria experimentCriteriaOrNull)
@@ -404,7 +409,7 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
     private void openImagingMaterialViewer(WellContent wellContent, Material material)
     {
         ClientPluginFactory.openImagingMaterialViewer(material, getExperimentCriteria(wellContent),
-                analysisProcedureCriteria, viewContext);
+                analysisProcedureCriteria, getViewContext());
     }
 
     private void linkExperiment()
@@ -529,7 +534,7 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
     {
         if (entityOrNull != null)
         {
-            new OpenEntityDetailsTabAction(entityOrNull, viewContext, specialKeyPressed).execute();
+            new OpenEntityDetailsTabAction(entityOrNull, getViewContext(), specialKeyPressed).execute();
         }
     }
 
@@ -548,7 +553,7 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
     {
         IDelegatedAction experimentSelectionChangedAction =
                 createExperimentSelectionChangedAction(analysisProcedureChooser);
-        return new SingleOrAllExperimentsChooser(viewContext, experimentCriteriaHolder,
+        return new SingleOrAllExperimentsChooser(getViewContext(), experimentCriteriaHolder,
                 restrictGlobalScopeLinkToProject, experimentSelectionChangedAction);
     }
 
@@ -568,7 +573,7 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
     private AnalysisProcedureChooser createAnalysisProcedureChooser()
     {
         AnalysisProcedureChooser analysisProcedureChooser =
-                AnalysisProcedureChooser.createVertical(viewContext, experimentCriteriaHolder,
+                AnalysisProcedureChooser.createVertical(getViewContext(), experimentCriteriaHolder,
                         null, this, true);
         return analysisProcedureChooser;
     }
@@ -613,7 +618,7 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
                                     public Widget create(List<String> channels)
                                     {
                                         return WellContentDialog.createImageViewerForChannel(
-                                                viewContext, entity, IMAGE_SIZE_PX, channels);
+                                                getViewContext(), entity, IMAGE_SIZE_PX, channels);
                                     }
                                 };
                     ChannelWidgetWithListener widgetWithListener =
@@ -648,7 +653,7 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
         WellSearchCriteria searchCriteria =
                 new WellSearchCriteria(experimentCriteriaOrNull, materialCriteria,
                         analysisProcedureCriteria);
-        viewContext.getService().listPlateWells(resultSetConfig, searchCriteria, callback);
+        getViewContext().getService().listPlateWells(resultSetConfig, searchCriteria, callback);
     }
 
     @Override
@@ -656,7 +661,7 @@ public class WellSearchGrid extends TypedTableGrid<WellContent> implements
             TableExportCriteria<TableModelRowWithObject<WellContent>> exportCriteria,
             AbstractAsyncCallback<String> callback)
     {
-        viewContext.getService().prepareExportPlateWells(exportCriteria, callback);
+        getViewContext().getService().prepareExportPlateWells(exportCriteria, callback);
     }
 
     @Override
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/locator/ImagingMaterialLocatorResolver.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/locator/ImagingMaterialLocatorResolver.java
index 32cb3891c00..54e20f29cae 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/locator/ImagingMaterialLocatorResolver.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/locator/ImagingMaterialLocatorResolver.java
@@ -106,8 +106,6 @@ public class ImagingMaterialLocatorResolver extends MaterialLocatorResolver
     private static class OpenEntityDetailsTabCallback extends
             AbstractAsyncCallback<IEntityInformationHolderWithPermId>
     {
-        private final IViewContext<IScreeningClientServiceAsync> viewContext;
-
         private final ExperimentIdentifierSearchCriteria scopeOrNull;
 
         private final AnalysisProcedureCriteria analysisProcedureCriteria;
@@ -118,7 +116,6 @@ public class ImagingMaterialLocatorResolver extends MaterialLocatorResolver
                 AnalysisProcedureCriteria analysisProcedureCriteria)
         {
             super(viewContext);
-            this.viewContext = viewContext;
             this.scopeOrNull = scopeOrNull;
             this.analysisProcedureCriteria = analysisProcedureCriteria;
         }
@@ -159,8 +156,9 @@ public class ImagingMaterialLocatorResolver extends MaterialLocatorResolver
         private void fetchExperimentAndShowLocations(
                 final IEntityInformationHolderWithPermId material, String experimentIdentifier)
         {
-            viewContext.getCommonService().getExperimentInfo(experimentIdentifier,
-                    new AbstractAsyncCallback<Experiment>(viewContext)
+            final IViewContext<IScreeningClientServiceAsync> context = getViewContext();
+            context.getCommonService().getExperimentInfo(experimentIdentifier,
+                    new AbstractAsyncCallback<Experiment>(context)
                         {
                             @Override
                             protected void process(Experiment experiment)
@@ -180,7 +178,13 @@ public class ImagingMaterialLocatorResolver extends MaterialLocatorResolver
                 final ExperimentSearchCriteria experimentSearchCriteriaOrNull)
         {
             ClientPluginFactory.openImagingMaterialViewer(material, experimentSearchCriteriaOrNull,
-                    analysisProcedureCriteria, viewContext);
+                    analysisProcedureCriteria, getViewContext());
+        }
+
+        @SuppressWarnings("unchecked")
+        private IViewContext<IScreeningClientServiceAsync> getViewContext()
+        {
+            return (IViewContext<IScreeningClientServiceAsync>) viewContext;
         }
     }
 
-- 
GitLab