Skip to content
Snippets Groups Projects
Commit 5f1d8c7c authored by brinn's avatar brinn
Browse files

[BIS-295] Remove IPropertyTypesProvider from the Web GUI.

SVN: 27929
parent add32d5a
No related branches found
No related tags found
No related merge requests found
...@@ -19,7 +19,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample ...@@ -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.application.ui.grid.ICriteriaProvider;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListSampleDisplayCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListSampleDisplayCriteria;
public interface ISampleCriteriaProvider extends public interface ISampleCriteriaProvider extends ICriteriaProvider<ListSampleDisplayCriteria>
ICriteriaProvider<ListSampleDisplayCriteria>, IPropertyTypesProvider
{ {
} }
\ No newline at end of file
...@@ -49,9 +49,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IB ...@@ -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.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.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.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.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.ui.widget.IDataRefreshCallback;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction; 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 ...@@ -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.ListSampleCriteria;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MetaprojectCriteria; 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.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.Sample;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject;
...@@ -302,56 +298,14 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample> ...@@ -302,56 +298,14 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample>
*/ */
protected static class SampleCriteriaProvider implements ISampleCriteriaProvider protected static class SampleCriteriaProvider implements ISampleCriteriaProvider
{ {
private final ICriteriaProvider<PropertyTypesCriteria> propertyTypeProvider;
private final ListSampleDisplayCriteria criteria; 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, public SampleCriteriaProvider(IViewContext<?> viewContext,
ListSampleDisplayCriteria criteria) ListSampleDisplayCriteria criteria)
{ {
this.propertyTypeProvider =
createPropertyTypesCriteriaProvider(viewContext, EntityKind.SAMPLE);
this.criteria = criteria; 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 @Override
public ListSampleDisplayCriteria tryGetCriteria() public ListSampleDisplayCriteria tryGetCriteria()
{ {
...@@ -362,20 +316,12 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample> ...@@ -362,20 +316,12 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample>
public void update(Set<DatabaseModificationKind> observedModifications, public void update(Set<DatabaseModificationKind> observedModifications,
IDataRefreshCallback dataRefreshCallback) IDataRefreshCallback dataRefreshCallback)
{ {
propertyTypeProvider.update(observedModifications, dataRefreshCallback);
} }
@Override @Override
public DatabaseModificationKind[] getRelevantModifications() public DatabaseModificationKind[] getRelevantModifications()
{ {
return propertyTypeProvider.getRelevantModifications(); return DatabaseModificationKind.any(ObjectKind.PROPERTY_TYPE_ASSIGNMENT);
}
@Override
public void setEntityTypes(Set<SampleType> entityTypes)
{
criteria.setAllSampleType(SampleType.createAllSampleType(entityTypes, false));
this.shownEntityTypesOrNull = entityTypes;
} }
} }
......
...@@ -19,7 +19,6 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample ...@@ -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.createOrDelete;
import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.edit; import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.edit;
import java.util.List;
import java.util.Set; import java.util.Set;
import com.extjs.gxt.ui.client.event.SelectionChangedEvent; import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
...@@ -38,14 +37,12 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.Samp ...@@ -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.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.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.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.ui.widget.IDataRefreshCallback;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction; 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.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;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind; 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.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.SampleType;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
...@@ -147,17 +144,6 @@ final class SampleBrowserToolbar extends ToolBar implements ISampleCriteriaProvi ...@@ -147,17 +144,6 @@ final class SampleBrowserToolbar extends ToolBar implements ISampleCriteriaProvi
return selectSampleTypeCombo.tryGetSelectedSampleType(); 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) public void setCriteriaChangedListeners(final IDelegatedAction action)
{ {
selectSpaceCombo.addSelectionChangedListener(new SelectionChangedListener<SpaceModel>() selectSpaceCombo.addSelectionChangedListener(new SelectionChangedListener<SpaceModel>()
...@@ -239,12 +225,4 @@ final class SampleBrowserToolbar extends ToolBar implements ISampleCriteriaProvi ...@@ -239,12 +225,4 @@ final class SampleBrowserToolbar extends ToolBar implements ISampleCriteriaProvi
|| observedModifications.contains(edit(objectKind)); || 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.
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment