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 4b146d64fe080a53f6fa193c367449b75b7370a8..1f042a849fa5ac55d503592c4a26c831970237f9 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 15fc32c58b203ae5ede750e713f69a445c8e5802..ecb366edcaf9891fd0134759e6a396dd30b9c271 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 fcb543e30cb38bb9163d2c58b503fa46717a2421..3d40f4445437bab5d22c3c61399b7e4f7c0adad0 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. - } - }