From e1f2746e50f449c83ed106a3dad9f0507a959811 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Thu, 29 Sep 2011 06:49:27 +0000 Subject: [PATCH] Refactoring ProteinByExperimentBrowserGrid to TypedTableGrid Part II SVN: 23147 --- .../web/client/IPhosphoNetXClientService.java | 5 +- .../IPhosphoNetXClientServiceAsync.java | 6 +- .../ProteinByExperimentBrowerToolBar.java | 14 ++ .../ProteinByExperimentBrowserGrid.java | 151 ++++-------------- .../dto/ListProteinByExperimentCriteria.java | 6 +- .../web/server/PhosphoNetXClientService.java | 10 +- .../server/PhosphoNetXClientServiceTest.java | 8 +- 7 files changed, 68 insertions(+), 132 deletions(-) diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/IPhosphoNetXClientService.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/IPhosphoNetXClientService.java index b38417ced37..089e99fbe88 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/IPhosphoNetXClientService.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/IPhosphoNetXClientService.java @@ -21,7 +21,6 @@ import java.util.List; import ch.systemsx.cisd.openbis.generic.client.web.client.IClientService; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.IResultSetConfig; -import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TypedTableResultSet; import ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureException; @@ -73,10 +72,10 @@ public interface IPhosphoNetXClientService extends IClientService public List<AbundanceColumnDefinition> getAbundanceColumnDefinitionsForProteinByExperiment( TechId experimentID, String treatmentTypeOrNull) throws UserFailureException; - public ResultSet<ProteinInfo> listProteinsByExperiment(ListProteinByExperimentCriteria criteria) + public TypedTableResultSet<ProteinInfo> listProteinsByExperiment(ListProteinByExperimentCriteria criteria) throws UserFailureException; - public String prepareExportProteins(TableExportCriteria<ProteinInfo> exportCriteria) + public String prepareExportProteins(TableExportCriteria<TableModelRowWithObject<ProteinInfo>> exportCriteria) throws UserFailureException; public TypedTableResultSet<ProteinSummary> listProteinSummariesByExperiment( diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/IPhosphoNetXClientServiceAsync.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/IPhosphoNetXClientServiceAsync.java index 9d4d652f903..e433c9dcf50 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/IPhosphoNetXClientServiceAsync.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/IPhosphoNetXClientServiceAsync.java @@ -23,7 +23,6 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.IClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.IResultSetConfig; -import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TypedTableResultSet; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; @@ -79,10 +78,11 @@ public interface IPhosphoNetXClientServiceAsync extends IClientServiceAsync /** @see IPhosphoNetXClientService#listProteinsByExperiment(ListProteinByExperimentCriteria) */ public void listProteinsByExperiment(ListProteinByExperimentCriteria criteria, - AsyncCallback<ResultSet<ProteinInfo>> callback); + AsyncCallback<TypedTableResultSet<ProteinInfo>> callback); /** @see IPhosphoNetXClientService#prepareExportProteins(TableExportCriteria) */ - public void prepareExportProteins(TableExportCriteria<ProteinInfo> exportCriteria, + public void prepareExportProteins( + TableExportCriteria<TableModelRowWithObject<ProteinInfo>> exportCriteria, AsyncCallback<String> callback); /** @see IPhosphoNetXClientService#listProteinSummariesByExperiment(ListProteinSummaryByExperimentCriteria) */ diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowerToolBar.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowerToolBar.java index 9e109bc1a20..b4880fb6885 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowerToolBar.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowerToolBar.java @@ -43,6 +43,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTerm; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.IPhosphoNetXClientServiceAsync; +import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.dto.ListProteinByExperimentCriteria; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.AbundanceColumnDefinition; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.AggregateFunction; @@ -320,6 +321,19 @@ class ProteinByExperimentBrowerToolBar extends ToolBar experimentID, treatmentTypeCode, callback); } } + + ListProteinByExperimentCriteria getCriteria() + { + ListProteinByExperimentCriteria criteria = new ListProteinByExperimentCriteria(); + criteria.setExperimentID(TechId.create(experiment)); + criteria.setFalseDiscoveryRate(getSelection(fdrComboBox, 0.0)); + criteria.setAggregateFunction(getSelection(aggregateFunctionComboBox, DEFAULT_AGGREGATE_FUNCTION)); + VocabularyTermModel value = treatmentTypeComboBox.getValue(); + String treatmentTypeCode = value == null ? null : value.getTerm().getCode(); + criteria.setTreatmentTypeCode(treatmentTypeCode); + criteria.setAggregateOriginal(aggregateOriginalCheckBox.getValue()); + return criteria; + } private <T> T getSelection(ComboBox<? extends SimpleModel<T>> comboBox, T defaultValue) { diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowserGrid.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowserGrid.java index 2364e3929cc..6ec219f2f27 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowserGrid.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowserGrid.java @@ -16,10 +16,8 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.application; -import java.util.ArrayList; -import java.util.HashMap; +import java.util.Arrays; import java.util.List; -import java.util.Map; import java.util.Set; import com.extjs.gxt.ui.client.widget.Component; @@ -35,49 +33,40 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericCon import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.BaseEntityModel; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.renderer.RealNumberRenderer; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.IColumnDefinitionKind; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.IColumnDefinitionUI; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.AbstractSimpleBrowserGrid; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ColumnDefsAndConfigs; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ICellListener; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.TypedTableGrid; +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.IDisposableComponent; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.IDataRefreshCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; -import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria; -import ch.systemsx.cisd.openbis.generic.shared.basic.GridRowModel; -import ch.systemsx.cisd.openbis.generic.shared.basic.IColumnDefinition; +import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TypedTableResultSet; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType; 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.Experiment; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.IPhosphoNetXClientServiceAsync; -import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.application.columns.InternalAbundanceColumnDefinition; -import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.application.columns.ProteinColDefKind; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.dto.ListProteinByExperimentCriteria; +import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.dto.ProteinBrowserColumnIDs; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.AbundanceColumnDefinition; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.AggregateFunction; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.ProteinInfo; -import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.Treatment; /** * @author Franz-Josef Elmer */ -class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinInfo> +class ProteinByExperimentBrowserGrid extends TypedTableGrid<ProteinInfo> { - private static final String ABUNDANCE_PROPERTY_KEY = "ABUNDANCE"; - private static final String PREFIX = GenericConstants.ID_PREFIX + "protein-by-experiment-browser"; // browser consists of the grid and additional toolbars (paging, filtering) public static final String BROWSER_ID = PREFIX + "_main"; - public static final String GRID_ID = PREFIX + "_grid"; + public static final String GRID_ID = PREFIX + TypedTableGrid.GRID_POSTFIX; private final IViewContext<IPhosphoNetXClientServiceAsync> specificViewContext; @@ -85,12 +74,6 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn private ListProteinByExperimentCriteria criteria; - private List<AbundanceColumnDefinition> abundanceColumnDefinitions; - - private boolean abundanceColumnDefinitionsChanged = true; - - private ColumnDefsAndConfigs<ProteinInfo> columnDefinitionsAndConfigs; - private IDataRefreshCallback postRefreshCallback = new IDataRefreshCallback() { public void postRefresh(boolean wasSuccessful) @@ -98,8 +81,6 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn } }; - private List<IColumnDefinition<ProteinInfo>> visibleColumnDefinitions; - static IDisposableComponent create( final IViewContext<IPhosphoNetXClientServiceAsync> viewContext, BasicEntityType experimentType, Experiment experiment) @@ -158,22 +139,30 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn private ProteinByExperimentBrowserGrid( final IViewContext<IPhosphoNetXClientServiceAsync> viewContext, Experiment experiment) { - super(viewContext.getCommonViewContext(), BROWSER_ID, GRID_ID, false, + super(viewContext.getCommonViewContext(), BROWSER_ID, true, PhosphoNetXDisplayTypeIDGenerator.PROTEIN_BY_EXPERIMENT_BROWSER_GRID); specificViewContext = viewContext; toolbar = new ProteinByExperimentBrowerToolBar(viewContext, experiment); toolbar.setBrowserGrid(this); - registerLinkClickListenerFor(ProteinColDefKind.ACCESSION_NUMBER.id(), - new ICellListener<ProteinInfo>() + registerListenerAndLinkGenerator(ProteinBrowserColumnIDs.ACCESSION_NUMBER, + new ICellListenerAndLinkGenerator<ProteinInfo>() { - public void handle(ProteinInfo rowItem, boolean keyPressed) + public void handle(TableModelRowWithObject<ProteinInfo> rowItem, + boolean keyPressed) { AbstractTabItemFactory tabItemFactory = ProteinViewer.createTabItemFactory(viewContext, - toolbar.getExperimentOrNull(), rowItem); + toolbar.getExperimentOrNull(), + rowItem.getObjectOrNull()); tabItemFactory.setInBackground(keyPressed); DispatcherHelper.dispatchNaviEvent(tabItemFactory); } + + public String tryGetLink(ProteinInfo entity, + ISerializableComparable comparableValue) + { + return null; + } }); } @@ -187,8 +176,6 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn criteria.setAggregateFunction(aggregateFunction); criteria.setTreatmentTypeCode(treatmentTypeCode); criteria.setAggregateOriginal(aggregateOriginal); - abundanceColumnDefinitions = definitions; - abundanceColumnDefinitionsChanged = true; refresh(postRefreshCallback, true); } @@ -198,101 +185,32 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn } @Override - protected IColumnDefinitionKind<ProteinInfo>[] getStaticColumnsDefinition() + protected String translateColumnIdToDictionaryKey(String columnID) { - return ProteinColDefKind.values(); + return columnID.toLowerCase(); } @Override - protected ColumnDefsAndConfigs<ProteinInfo> createColumnsDefinition() - { - if (columnDefinitionsAndConfigs == null || abundanceColumnDefinitionsChanged) - { - columnDefinitionsAndConfigs = super.createColumnsDefinition(); - List<IColumnDefinitionUI<ProteinInfo>> columns = - new ArrayList<IColumnDefinitionUI<ProteinInfo>>(); - List<String> abundanceColumnIDs = new ArrayList<String>(); - for (AbundanceColumnDefinition definition : abundanceColumnDefinitions) - { - String header = definition.getSampleCode(); - Map<String, String> properties = new HashMap<String, String>(); - properties.put(ABUNDANCE_PROPERTY_KEY, header); - List<Treatment> treatments = definition.getTreatments(); - if (treatments.isEmpty() == false) - { - header = ""; - String delim = ""; - for (Treatment treatment : treatments) - { - header += delim + treatment; - delim = ", "; - properties.put(treatment.getTypeCode(), treatment.getValue()); - } - } - final long sampleID = definition.getID(); - IColumnDefinitionUI<ProteinInfo> columnDefinition = - new InternalAbundanceColumnDefinition(header, properties, 100, false, sampleID); - abundanceColumnIDs.add(columnDefinition.getIdentifier()); - columns.add(columnDefinition); - } - columnDefinitionsAndConfigs.addColumns(columns, viewContext); - columnDefinitionsAndConfigs.setGridCellRendererFor(ProteinColDefKind.ACCESSION_NUMBER.id(), - createInternalLinkCellRenderer()); - RealNumberRenderer renderer = - new RealNumberRenderer(viewContext.getDisplaySettingsManager() - .getRealNumberFormatingParameters()); - for (String abundanceColumneID : abundanceColumnIDs) - { - columnDefinitionsAndConfigs.setGridCellRendererFor(abundanceColumneID, renderer); - } - columnDefinitionsAndConfigs.setGridCellRendererFor(ProteinColDefKind.COVERAGE.id(), renderer); - abundanceColumnDefinitionsChanged = false; - } - return columnDefinitionsAndConfigs; - } - - @Override - protected void initializeModelCreation() + protected List<String> getColumnIdsOfFilters() { - Set<String> visibleColumnIds = getIDsOfVisibleColumns(); - visibleColumnDefinitions = new ArrayList<IColumnDefinition<ProteinInfo>>(); - Set<IColumnDefinition<ProteinInfo>> columnDefs = createColumnsDefinition().getColumnDefs(); - for (IColumnDefinition<ProteinInfo> columnDefinition : columnDefs) - { - if (columnDefinition instanceof IColumnDefinitionUI == false - || visibleColumnIds.contains(columnDefinition.getIdentifier())) - { - visibleColumnDefinitions.add(columnDefinition); - } - } + return Arrays.asList(ProteinBrowserColumnIDs.PROTEIN_DESCRIPTION); } @Override - protected BaseEntityModel<ProteinInfo> createModel(GridRowModel<ProteinInfo> entity) + protected void listTableRows( + DefaultResultSetConfig<String, TableModelRowWithObject<ProteinInfo>> resultSetConfig, + AbstractAsyncCallback<TypedTableResultSet<ProteinInfo>> callback) { - return new BaseEntityModel<ProteinInfo>(entity, visibleColumnDefinitions, true); - } - - @Override - protected List<IColumnDefinition<ProteinInfo>> getInitialFilters() - { - return asColumnFilters(new ProteinColDefKind[] - { ProteinColDefKind.DESCRIPTION }); - } - - @Override - protected void listEntities(DefaultResultSetConfig<String, ProteinInfo> resultSetConfig, - AbstractAsyncCallback<ResultSet<ProteinInfo>> callback) - { - if (criteria != null) + if (criteria == null) { - criteria.copyPagingConfig(resultSetConfig); - specificViewContext.getService().listProteinsByExperiment(criteria, callback); + criteria = toolbar.getCriteria(); } + criteria.copyPagingConfig(resultSetConfig); + specificViewContext.getService().listProteinsByExperiment(criteria, callback); } @Override - protected void prepareExportEntities(TableExportCriteria<ProteinInfo> exportCriteria, + protected void prepareExportEntities(TableExportCriteria<TableModelRowWithObject<ProteinInfo>> exportCriteria, AbstractAsyncCallback<String> callback) { specificViewContext.getService().prepareExportProteins(exportCriteria, callback); @@ -304,6 +222,7 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn toolbar.update(); } + @Override public DatabaseModificationKind[] getRelevantModifications() { return new DatabaseModificationKind[] diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/dto/ListProteinByExperimentCriteria.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/dto/ListProteinByExperimentCriteria.java index f3a627fea9a..32329607ec5 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/dto/ListProteinByExperimentCriteria.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/dto/ListProteinByExperimentCriteria.java @@ -20,6 +20,7 @@ import com.google.gwt.user.client.rpc.IsSerializable; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.AggregateFunction; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.ProteinInfo; @@ -28,8 +29,9 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.ProteinInfo; * * @author Franz-Josef Elmer */ -public class ListProteinByExperimentCriteria extends DefaultResultSetConfig<String, ProteinInfo> - implements IsSerializable +public class ListProteinByExperimentCriteria extends + DefaultResultSetConfig<String, TableModelRowWithObject<ProteinInfo>> implements + IsSerializable { private TechId experimentID; private double falseDiscoveryRate; diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/PhosphoNetXClientService.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/PhosphoNetXClientService.java index 309833ec8ec..c938b297c42 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/PhosphoNetXClientService.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/PhosphoNetXClientService.java @@ -74,6 +74,7 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.dto.ListSam import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.server.resultset.BiologicalSampleProvider; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.server.resultset.DataSetProteinProvider; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.server.resultset.ParentlessMsInjectionSampleProvider; +import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.server.resultset.ProteinProvider; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.server.resultset.ProteinRelatedSampleProvider; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.server.resultset.ProteinSequenceProvider; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.server.resultset.ProteinSummaryProvider; @@ -246,7 +247,8 @@ public class PhosphoNetXClientService extends AbstractClientService implements } } - public ResultSet<ProteinInfo> listProteinsByExperiment(ListProteinByExperimentCriteria criteria) + public TypedTableResultSet<ProteinInfo> listProteinsByExperiment( + ListProteinByExperimentCriteria criteria) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); @@ -258,15 +260,15 @@ public class PhosphoNetXClientService extends AbstractClientService implements AggregateFunction aggregateFunction = criteria.getAggregateFunction(); String treatmentTypeCode = criteria.getTreatmentTypeCode(); boolean aggregateOnOriginal = criteria.isAggregateOriginal(); - return listEntities(criteria, new ListProteinOriginalDataProvider(server, sessionToken, - experimentID, fdr, aggregateFunction, treatmentTypeCode, aggregateOnOriginal)); + return listEntities(new ProteinProvider(server, sessionToken, experimentID, fdr, + aggregateFunction, treatmentTypeCode, aggregateOnOriginal), criteria); } finally { operationLog.info(stopWatch.getTime() + " msec for listProteinsByExperiment"); } } - public String prepareExportProteins(TableExportCriteria<ProteinInfo> exportCriteria) + public String prepareExportProteins(TableExportCriteria<TableModelRowWithObject<ProteinInfo>> exportCriteria) { return prepareExportEntities(exportCriteria); } diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/PhosphoNetXClientServiceTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/PhosphoNetXClientServiceTest.java index 3c8c1617966..2e4efa31014 100644 --- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/PhosphoNetXClientServiceTest.java +++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/server/PhosphoNetXClientServiceTest.java @@ -38,8 +38,8 @@ import ch.systemsx.cisd.common.filesystem.FileUtilities; import ch.systemsx.cisd.common.servlet.IRequestContextProvider; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.GridRowModels; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.IResultSetConfig; -import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSetFetchConfig; +import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TypedTableResultSet; import ch.systemsx.cisd.openbis.generic.client.web.server.AbstractClientService; import ch.systemsx.cisd.openbis.generic.client.web.server.WebClientConfigurationProvider; import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.DefaultResultSet; @@ -255,11 +255,11 @@ public class PhosphoNetXClientServiceTest extends AbstractFileSystemTestCase criteria.setAggregateFunction(function); criteria.setTreatmentTypeCode(treatmentTypeCode); criteria.setAggregateOriginal(aggregateOnOriginal); - ResultSet<ProteinInfo> rs = clientService.listProteinsByExperiment(criteria); - ProteinInfo actualProtein = rs.getList().get(0).getOriginalObject(); + TypedTableResultSet<ProteinInfo> rs = clientService.listProteinsByExperiment(criteria); + ProteinInfo actualProtein = rs.getResultSet().getList().get(0).getOriginalObject().getObjectOrNull(); assertEquals(protein.getId(), actualProtein.getId()); assertEquals(protein.getDescription(), actualProtein.getDescription()); - assertEquals(1, rs.getTotalLength()); + assertEquals(1, rs.getResultSet().getTotalLength()); } private ProteinInfo createProtein(long id) -- GitLab