From 5f1d8c7c0c2fbb3c3e1a823641b0b4fead9ba47e Mon Sep 17 00:00:00 2001
From: brinn <brinn>
Date: Thu, 13 Dec 2012 19:07:54 +0000
Subject: [PATCH] [BIS-295] Remove IPropertyTypesProvider from the Web GUI.

SVN: 27929
---
 .../ui/sample/ISampleCriteriaProvider.java    |  3 +-
 .../ui/sample/SampleBrowserGrid.java          | 56 +------------------
 .../ui/sample/SampleBrowserToolbar.java       | 22 --------
 3 files changed, 2 insertions(+), 79 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ISampleCriteriaProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ISampleCriteriaProvider.java
index 4b146d64fe0..1f042a849fa 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ISampleCriteriaProvider.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/ISampleCriteriaProvider.java
@@ -19,7 +19,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ICriteriaProvider;
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListSampleDisplayCriteria;
 
-public interface ISampleCriteriaProvider extends
-        ICriteriaProvider<ListSampleDisplayCriteria>, IPropertyTypesProvider
+public interface ISampleCriteriaProvider extends ICriteriaProvider<ListSampleDisplayCriteria>
 {
 }
\ No newline at end of file
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java
index 15fc32c58b2..ecb366edcaf 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java
@@ -49,9 +49,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IB
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ICellListenerAndLinkGenerator;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ICriteriaProvider;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.entity.PropertyTypesCriteria;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.entity.PropertyTypesCriteriaProvider;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.entity.PropertyTypesFilterUtil;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.listener.OpenEntityDetailsTabHelper;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.IDataRefreshCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction;
@@ -75,7 +72,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListSampleCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MetaprojectCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject;
@@ -302,56 +298,14 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample>
      */
     protected static class SampleCriteriaProvider implements ISampleCriteriaProvider
     {
-        private final ICriteriaProvider<PropertyTypesCriteria> propertyTypeProvider;
-
         private final ListSampleDisplayCriteria criteria;
 
-        // Set of entity types which are currently shown in this grid.
-        // Used to decide which property columns should be shown.
-        // Note: content depends on the current grid content.
-        private Set<SampleType> shownEntityTypesOrNull;
-
         public SampleCriteriaProvider(IViewContext<?> viewContext,
                 ListSampleDisplayCriteria criteria)
         {
-            this.propertyTypeProvider =
-                    createPropertyTypesCriteriaProvider(viewContext, EntityKind.SAMPLE);
             this.criteria = criteria;
         }
 
-        /*
-         * Provides property types which should be shown as the grid columns. Takes into account
-         * what types of entities are displayed and does not show property types which are not
-         * assigned to any of those types.
-         */
-        private ICriteriaProvider<PropertyTypesCriteria> createPropertyTypesCriteriaProvider(
-                IViewContext<?> viewContext, final EntityKind entityKind)
-        {
-            return new PropertyTypesCriteriaProvider(viewContext, entityKind)
-                {
-                    @Override
-                    public PropertyTypesCriteria tryGetCriteria()
-                    {
-                        PropertyTypesCriteria propertyTypesCriteria = super.tryGetCriteria();
-                        return PropertyTypesFilterUtil.filterPropertyTypesForEntityTypes(
-                                propertyTypesCriteria, entityKind, shownEntityTypesOrNull);
-                    }
-                };
-        }
-
-        @Override
-        public List<PropertyType> tryGetPropertyTypes()
-        {
-            PropertyTypesCriteria propertyTypesCriteria = propertyTypeProvider.tryGetCriteria();
-            if (propertyTypesCriteria != null)
-            {
-                return propertyTypesCriteria.tryGetPropertyTypes();
-            } else
-            {
-                return null;
-            }
-        }
-
         @Override
         public ListSampleDisplayCriteria tryGetCriteria()
         {
@@ -362,20 +316,12 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample>
         public void update(Set<DatabaseModificationKind> observedModifications,
                 IDataRefreshCallback dataRefreshCallback)
         {
-            propertyTypeProvider.update(observedModifications, dataRefreshCallback);
         }
 
         @Override
         public DatabaseModificationKind[] getRelevantModifications()
         {
-            return propertyTypeProvider.getRelevantModifications();
-        }
-
-        @Override
-        public void setEntityTypes(Set<SampleType> entityTypes)
-        {
-            criteria.setAllSampleType(SampleType.createAllSampleType(entityTypes, false));
-            this.shownEntityTypesOrNull = entityTypes;
+            return DatabaseModificationKind.any(ObjectKind.PROPERTY_TYPE_ASSIGNMENT);
         }
 
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserToolbar.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserToolbar.java
index fcb543e30cb..3d40f444543 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserToolbar.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserToolbar.java
@@ -19,7 +19,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample
 import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.createOrDelete;
 import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.edit;
 
-import java.util.List;
 import java.util.Set;
 
 import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
@@ -38,14 +37,12 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.Samp
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.SpaceModel;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.SpaceSelectionWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.entity.PropertyTypesFilterUtil;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.IDataRefreshCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction;
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListSampleDisplayCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListSampleCriteria;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
 
@@ -147,17 +144,6 @@ final class SampleBrowserToolbar extends ToolBar implements ISampleCriteriaProvi
         return selectSampleTypeCombo.tryGetSelectedSampleType();
     }
 
-    @Override
-    public List<PropertyType> tryGetPropertyTypes()
-    {
-        final SampleType selectedType = tryGetSelectedSampleType();
-        if (selectedType == null)
-        {
-            return null;
-        }
-        return PropertyTypesFilterUtil.extractPropertyTypes(selectedType);
-    }
-
     public void setCriteriaChangedListeners(final IDelegatedAction action)
     {
         selectSpaceCombo.addSelectionChangedListener(new SelectionChangedListener<SpaceModel>()
@@ -239,12 +225,4 @@ final class SampleBrowserToolbar extends ToolBar implements ISampleCriteriaProvi
                 || observedModifications.contains(edit(objectKind));
     }
 
-    @Override
-    public void setEntityTypes(Set<SampleType> availableEntityTypes)
-    {
-        // TODO 2009-08-27, Tomasz Pylak: use this info to narrow properties when displaying "all"
-        // types of samples. The method tryGetPropertyTypes would have to be rewritten and an
-        // artificial SampleType for displaying all samples should not be used.
-    }
-
 }
-- 
GitLab