From ff811b0d6ddfffa30139c3a7ed741460de552205 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Mon, 20 Jun 2011 14:05:18 +0000 Subject: [PATCH] [LMS-2209] refactorization: reused solution for links in query result browser for links in entity browsers (no need to register listeners for entity links) SVN: 21751 --- .../client/application/ui/TypedTableGrid.java | 2 +- .../ui/experiment/ExperimentBrowserGrid.java | 25 +----- .../ui/grid/AbstractBrowserGrid.java | 9 -- .../ui/sample/SampleBrowserGrid.java | 86 ++----------------- .../resultset/AbstractTableModelProvider.java | 17 ---- .../server/resultset/ExperimentProvider.java | 11 +-- .../web/server/resultset/SampleProvider.java | 38 +++----- .../shared/basic/dto/EntityTableCell.java | 13 --- .../openbis/generic/shared/util/IColumn.java | 6 ++ .../shared/util/TypedTableModelBuilder.java | 15 ++++ .../resultset/ExperimentProviderTest.java | 2 +- .../server/resultset/SampleProviderTest.java | 22 ++--- 12 files changed, 61 insertions(+), 185 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/TypedTableGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/TypedTableGrid.java index 181e3e551a9..8850177845a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/TypedTableGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/TypedTableGrid.java @@ -328,7 +328,7 @@ public abstract class TypedTableGrid<T extends ISerializable> { title = viewContext.getMessage(translateColumnIdToDictionaryKey(columnId)); } - // support for links in queries + // support for entity links ICellListenerAndLinkGenerator<T> linkGeneratorOrNull = tryGetCellListenerAndLinkGenerator(columnId); final EntityKind entityKind = header.tryGetEntityKind(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserGrid.java index b386254ef23..57c2aac5855 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentBrowserGrid.java @@ -154,34 +154,11 @@ public class ExperimentBrowserGrid extends AbstractEntityGrid<Experiment> this.criteriaProvider = criteriaProvider; registerLinkClickListenerFor(CommonExperimentColDefKind.EXPERIMENT_IDENTIFIER.id(), showEntityViewerLinkClickListener); - linkExperiment(); + // NOTE: links to experiment are handled by EntityTableCell linkProject(); setId(BROWSER_ID); } - private void linkExperiment() - { - ICellListenerAndLinkGenerator<Experiment> listenerLinkGenerator = - new ICellListenerAndLinkGenerator<Experiment>() - { - public void handle(TableModelRowWithObject<Experiment> rowItem, - boolean specialKeyPressed) - { - showEntityInformationHolderViewer(rowItem.getObjectOrNull(), false, - specialKeyPressed); - } - - public String tryGetLink(Experiment entity, - ISerializableComparable comparableValue) - { - return LinkExtractor.tryExtract(entity); - } - }; - registerListenerAndLinkGenerator(ExperimentBrowserGridColumnIDs.CODE, listenerLinkGenerator); - registerListenerAndLinkGenerator(ExperimentBrowserGridColumnIDs.EXPERIMENT_IDENTIFIER, - listenerLinkGenerator); - } - private void linkProject() { registerListenerAndLinkGenerator(ExperimentBrowserGridColumnIDs.PROJECT, diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java index 0ff5fa14842..3431fa358e9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractBrowserGrid.java @@ -299,15 +299,6 @@ public abstract class AbstractBrowserGrid<T/* Entity */, M extends BaseEntityMod configureLoggingBetweenEvents(logID); - // this.addListener(Events.BeforeHide, new Listener<ComponentEvent>() - // { - // - // @Override - // public void handleEvent(ComponentEvent ce) - // { - // GWTUtils.displayInfo("BeforeHide main event"); - // } - // }); grid.addListener(Events.HeaderContextMenu, new Listener<GridEvent<ModelData>>() { public void handleEvent(final GridEvent<ModelData> ge) 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 5c3699850c9..fb52ef297ad 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 @@ -55,7 +55,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ID 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.OpenEntityDetailsTabAction; 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; @@ -323,11 +322,9 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample> { super(viewContext, browserId, displayTypeIDGenerator); propertyTypesAndCriteriaProvider = criteriaProvider; - linkSample(); - linkExperiment(); + // NOTE: links to sample, container and experiment are handled by EntityTableCell linkProject(); linkParent(); - linkContainer(); } @Override @@ -355,54 +352,6 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample> return suffix; } - private void linkSample() - { - ICellListenerAndLinkGenerator<Sample> listenerLinkGenerator = - new ICellListenerAndLinkGenerator<Sample>() - { - public void handle(TableModelRowWithObject<Sample> rowItem, - boolean specialKeyPressed) - { - showEntityInformationHolderViewer(rowItem.getObjectOrNull(), false, - specialKeyPressed); - } - - public String tryGetLink(Sample entity, - ISerializableComparable comparableValue) - { - return LinkExtractor.tryExtract(entity); - } - }; - registerListenerAndLinkGenerator(SampleGridColumnIDs.CODE, listenerLinkGenerator); - registerListenerAndLinkGenerator(SampleGridColumnIDs.SUBCODE, listenerLinkGenerator); - registerListenerAndLinkGenerator(SampleGridColumnIDs.SAMPLE_IDENTIFIER, - listenerLinkGenerator); - } - - private void linkExperiment() - { - ICellListenerAndLinkGenerator<Sample> listenerLinkGenerator = - new ICellListenerAndLinkGenerator<Sample>() - { - public void handle(TableModelRowWithObject<Sample> rowItem, - boolean specialKeyPressed) - { - Experiment experiment = rowItem.getObjectOrNull().getExperiment(); - new OpenEntityDetailsTabAction(experiment, viewContext, - specialKeyPressed).execute(); - } - - public String tryGetLink(Sample entity, - ISerializableComparable comparableValue) - { - return LinkExtractor.tryExtract(entity.getExperiment()); - } - }; - registerListenerAndLinkGenerator(SampleGridColumnIDs.EXPERIMENT, listenerLinkGenerator); - registerListenerAndLinkGenerator(SampleGridColumnIDs.EXPERIMENT_IDENTIFIER, - listenerLinkGenerator); - } - private void linkProject() { registerListenerAndLinkGenerator(SampleGridColumnIDs.PROJECT, @@ -460,27 +409,6 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample> }); } - private void linkContainer() - { - registerListenerAndLinkGenerator(SampleGridColumnIDs.CONTAINER_SAMPLE, - new ICellListenerAndLinkGenerator<Sample>() - { - public void handle(TableModelRowWithObject<Sample> rowItem, - boolean specialKeyPressed) - { - showEntityInformationHolderViewer(rowItem.getObjectOrNull() - .getContainer(), false, specialKeyPressed); - } - - public String tryGetLink(Sample entity, - ISerializableComparable comparableValue) - { - Sample container = entity.getContainer(); - return LinkExtractor.tryExtract(container); - } - }); - } - @Override protected GridCellRenderer<BaseEntityModel<?>> createInternalLinkCellRenderer() { @@ -511,15 +439,19 @@ public class SampleBrowserGrid extends AbstractEntityGrid<Sample> .getMessage(Dict.SHOW_DETAILS_LINK_TEXT_VALUE)); } - protected boolean isPropertyEditable(EntityType entityType, String propertyColumnNameWithoutPrefix) + protected boolean isPropertyEditable(EntityType entityType, + String propertyColumnNameWithoutPrefix) { - String propertyTypeCode = CodeConverter.getPropertyTypeCode(propertyColumnNameWithoutPrefix); - List<? extends EntityTypePropertyType<?>> assignedPropertyTypes = entityType.getAssignedPropertyTypes(); + String propertyTypeCode = + CodeConverter.getPropertyTypeCode(propertyColumnNameWithoutPrefix); + List<? extends EntityTypePropertyType<?>> assignedPropertyTypes = + entityType.getAssignedPropertyTypes(); for (EntityTypePropertyType<?> entityTypePropertyType : assignedPropertyTypes) { if (entityTypePropertyType.getPropertyType().getCode().equals(propertyTypeCode)) { - return entityTypePropertyType.isDynamic() == false && entityTypePropertyType.isManaged() == false; + return entityTypePropertyType.isDynamic() == false + && entityTypePropertyType.isManaged() == false; } } return false; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/AbstractTableModelProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/AbstractTableModelProvider.java index 6f04341bedc..940363ee6d3 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/AbstractTableModelProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/AbstractTableModelProvider.java @@ -19,10 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.server.resultset; import java.util.ArrayList; import java.util.List; -import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier; import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable; -import ch.systemsx.cisd.openbis.generic.shared.basic.InvalidationUtils; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityTableCell; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelColumnHeader; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TypedTableModel; @@ -67,18 +64,4 @@ public abstract class AbstractTableModelProvider<T extends ISerializable> implem */ protected abstract TypedTableModel<T> createTableModel(); - /** - * Creates a template of a cell for displaying links to entities. Identifier of the entity will - * be used as the link's text. To override the text its best to call - * {@link EntityTableCell#createCopyWithLinkText(String)} on the template. - */ - protected EntityTableCell createEntityTableCellTemplate( - final IEntityInformationHolderWithIdentifier entity) - { - final EntityTableCell cell = - new EntityTableCell(entity.getEntityKind(), entity.getPermId(), - entity.getIdentifier()); - cell.setInvalid(InvalidationUtils.isInvalid(entity)); - return cell; - } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/ExperimentProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/ExperimentProvider.java index 93010a06f5c..db356b6d368 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/ExperimentProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/ExperimentProvider.java @@ -37,7 +37,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListExperimentsCri import ch.systemsx.cisd.openbis.generic.shared.ICommonServer; import ch.systemsx.cisd.openbis.generic.shared.basic.InvalidationUtils; import ch.systemsx.cisd.openbis.generic.shared.basic.SimpleYesNoRenderer; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityTableCell; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TypedTableModel; @@ -94,15 +93,11 @@ public class ExperimentProvider extends AbstractCommonTableModelProvider<Experim TableMap<String, ExperimentType> experimentTypes = getExperimentTypes(); for (Experiment experiment : experiments) { - final EntityTableCell experimentCellTemplate = - createEntityTableCellTemplate(experiment); - builder.addRow(experiment); - builder.column(CODE).addValue( - experimentCellTemplate.createCopyWithLinkText(experiment.getCode())); + builder.column(CODE).addEntityLink(experiment, experiment.getCode()); builder.column(EXPERIMENT_TYPE).addString(experiment.getExperimentType().getCode()); - builder.column(EXPERIMENT_IDENTIFIER).addValue( - experimentCellTemplate.createCopyWithLinkText(experiment.getIdentifier())); + builder.column(EXPERIMENT_IDENTIFIER).addEntityLink(experiment, + experiment.getIdentifier()); builder.column(DATABASE_INSTANCE).addString( experiment.getProject().getSpace().getInstance().getCode()); builder.column(SPACE).addString(experiment.getProject().getSpace().getCode()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleProvider.java index f2667fb4d23..98a5426c33b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleProvider.java @@ -45,8 +45,7 @@ import ch.systemsx.cisd.openbis.generic.shared.ICommonServer; import ch.systemsx.cisd.openbis.generic.shared.basic.InvalidationUtils; import ch.systemsx.cisd.openbis.generic.shared.basic.SimpleYesNoRenderer; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseInstance; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityTableCell; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; +mport ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; 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.TypedTableModel; @@ -94,18 +93,13 @@ public class SampleProvider extends AbstractCommonTableModelProvider<Sample> TableMap<String, SampleType> sampleTypes = getSampleTypes(); for (Sample sample : samples) { - final EntityTableCell sampleCellTemplate = createEntityTableCellTemplate(sample); - builder.addRow(sample); - builder.column(CODE).addValue( - sampleCellTemplate.createCopyWithLinkText(sample.getCode())); - builder.column(SUBCODE).addValue( - sampleCellTemplate.createCopyWithLinkText(sample.getSubCode())); + builder.column(CODE).addEntityLink(sample, sample.getCode()); + builder.column(SUBCODE).addEntityLink(sample, sample.getSubCode()); builder.column(DATABASE_INSTANCE).addString(getDatabaseInstance(sample).getCode()); builder.column(SPACE).addString( sample.getSpace() == null ? "" : sample.getSpace().getCode()); - builder.column(SAMPLE_IDENTIFIER).addValue( - sampleCellTemplate.createCopyWithLinkText(sample.getIdentifier())); + builder.column(SAMPLE_IDENTIFIER).addEntityLink(sample, sample.getIdentifier()); builder.column(SAMPLE_TYPE).addString(sample.getSampleType().getCode()); builder.column(IS_INSTANCE_SAMPLE).addString( SimpleYesNoRenderer.render(sample.getDatabaseInstance() != null)); @@ -113,23 +107,25 @@ public class SampleProvider extends AbstractCommonTableModelProvider<Sample> SimpleYesNoRenderer.render(InvalidationUtils.isInvalid(sample))); builder.column(REGISTRATOR).addPerson(sample.getRegistrator()); builder.column(REGISTRATION_DATE).addDate(sample.getRegistrationDate()); - final Experiment experimentOrNull = sample.getExperiment(); if (experimentOrNull != null) { final Experiment experiment = experimentOrNull; - final EntityTableCell experimentCellTemplate = - createEntityTableCellTemplate(experiment); - builder.column(EXPERIMENT).addValue( - experimentCellTemplate.createCopyWithLinkText(experiment.getCode())); - builder.column(EXPERIMENT_IDENTIFIER).addValue( - experimentCellTemplate.createCopyWithLinkText(experiment.getIdentifier())); + builder.column(EXPERIMENT).addEntityLink(experiment, experiment.getCode()); + builder.column(EXPERIMENT_IDENTIFIER).addEntityLink(experiment, + experiment.getIdentifier()); } builder.column(PROJECT).addString(getProjectCode(sample)); builder.column(PERM_ID).addString(sample.getPermId()); builder.column(SHOW_DETAILS_LINK_COLUMN_NAME).addString(sample.getPermlink()); builder.column(PARENTS).addString(getParents(sample)); - builder.column(CONTAINER_SAMPLE).addString(getContainer(sample)); + final Sample containerOrNull = sample.getContainer(); + if (containerOrNull != null) + { + final Sample container = containerOrNull; + builder.column(CONTAINER_SAMPLE) + .addEntityLink(container, container.getIdentifier()); + } SampleType sampleType = sampleTypes.tryGet(sample.getSampleType().getCode()); IColumnGroup columnGroup = builder.columnGroup(PROPERTIES_PREFIX); if (sampleType != null) @@ -179,12 +175,6 @@ public class SampleProvider extends AbstractCommonTableModelProvider<Sample> return builder.toString(); } - private String getContainer(Sample sample) - { - Sample container = sample.getContainer(); - return container == null ? "" : container.getIdentifier(); - } - private String getProjectCode(Sample sample) { Experiment experiment = sample.getExperiment(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTableCell.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTableCell.java index 526bdac0c3f..91491c5917f 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTableCell.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTableCell.java @@ -57,19 +57,6 @@ public class EntityTableCell implements ISerializableComparable this.identifierOrNull = identifierOrNull; } - /** copy constructor overwriting link's text */ - private EntityTableCell(EntityTableCell entityCell, String linkText) - { - this(entityCell.entityKind, entityCell.permId, entityCell.identifierOrNull); - setInvalid(entityCell.invalid); - setLinkText(linkText); - } - - public EntityTableCell createCopyWithLinkText(String linkText) - { - return new EntityTableCell(this, linkText); - } - public int compareTo(ISerializableComparable o) { return this.toString().compareTo(o.toString()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/IColumn.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/IColumn.java index 3922b76ded7..25ee04ab529 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/IColumn.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/IColumn.java @@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.shared.util; import java.util.Date; +import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable; @@ -92,6 +93,11 @@ public interface IColumn */ public void addDate(Date valueOrNull); + /** + * Adds a link to an entity to the column. + */ + public void addEntityLink(IEntityInformationHolderWithIdentifier entity, String linkText); + /** * Adds a person to the column as a string. */ diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilder.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilder.java index 7f5f5f58360..28ea7878698 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilder.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/util/TypedTableModelBuilder.java @@ -30,7 +30,9 @@ import java.util.Set; import org.apache.commons.lang.StringUtils; +import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier; import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable; +import ch.systemsx.cisd.openbis.generic.shared.basic.InvalidationUtils; import ch.systemsx.cisd.openbis.generic.shared.basic.SimplePersonRenderer; import ch.systemsx.cisd.openbis.generic.shared.basic.TableCellUtil; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode; @@ -344,6 +346,19 @@ public class TypedTableModelBuilder<T extends ISerializable> addValue(value); } + public void addEntityLink(IEntityInformationHolderWithIdentifier entity, String linkText) + { + assert entity != null; + // TODO 2011-06-20, Piotr Buczek: extend DataType with ENTITY and set the type here + header.setEntityKind(entity.getEntityKind()); + final EntityTableCell cell = + new EntityTableCell(entity.getEntityKind(), entity.getPermId(), + entity.getIdentifier()); + cell.setInvalid(InvalidationUtils.isInvalid(entity)); + cell.setLinkText(linkText); + addValue(cell); + } + private void setDataType(DataTypeCode dataType) { header.setDataType(DataTypeUtils.getCompatibleDataType(header.getDataType(), dataType)); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/ExperimentProviderTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/ExperimentProviderTest.java index dc62a01f9bc..9e8e9f34d79 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/ExperimentProviderTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/ExperimentProviderTest.java @@ -90,7 +90,7 @@ public class ExperimentProviderTest extends AbstractProviderTest assertEquals("[null, VARCHAR, null, VARCHAR, VARCHAR, VARCHAR, VARCHAR, TIMESTAMP, " + "VARCHAR, VARCHAR, VARCHAR, VARCHAR, MULTILINE_VARCHAR]", getHeaderDataTypes(tableModel).toString()); - assertEquals("[null, null, null, null, null, null, null, null, null, null, " + assertEquals("[EXPERIMENT, null, EXPERIMENT, null, null, null, null, null, null, null, " + "null, null, null]", getHeaderEntityKinds(tableModel).toString()); List<TableModelRowWithObject<Experiment>> rows = tableModel.getRows(); assertSame(e1.getExperiment(), rows.get(0).getObjectOrNull()); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleProviderTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleProviderTest.java index 93dbe414623..59a27236fad 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleProviderTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/SampleProviderTest.java @@ -92,10 +92,11 @@ public class SampleProviderTest extends AbstractProviderTest assertEquals( "[null, null, VARCHAR, VARCHAR, null, VARCHAR, " + "VARCHAR, VARCHAR, VARCHAR, TIMESTAMP, null, null, VARCHAR, " - + "VARCHAR, VARCHAR, VARCHAR, VARCHAR, REAL, TIMESTAMP, VARCHAR, MATERIAL, MULTILINE_VARCHAR]", + + "VARCHAR, VARCHAR, VARCHAR, null, REAL, TIMESTAMP, VARCHAR, MATERIAL, MULTILINE_VARCHAR]", getHeaderDataTypes(tableModel).toString()); - assertEquals("[null, null, null, null, null, null, null, null, null, null, null, null, " - + "null, null, null, null, null, null, null, null, MATERIAL, null]", + assertEquals("[SAMPLE, SAMPLE, null, null, SAMPLE, null, " + + "null, null, null, null, null, null, null, " + + "null, null, null, null, null, null, null, MATERIAL, null]", getHeaderEntityKinds(tableModel).toString()); List<TableModelRowWithObject<Sample>> rows = tableModel.getRows(); assertSame(s1.getSample(), rows.get(0).getObjectOrNull()); @@ -126,7 +127,7 @@ public class SampleProviderTest extends AbstractProviderTest s2.experiment(new ExperimentBuilder().identifier("DB:/SPACE1/P1/EXP1").permID("e-123") .getExperiment()); Sample p2 = new SampleBuilder("/DE/FG").getSample(); - s2.partOf(new SampleBuilder("DB:/A/B").getSample()).childOf(p1, p2); + s2.partOf(new SampleBuilder("DB:/A/B").permID("c-456").getSample()).childOf(p1, p2); context.checking(new Expectations() { { @@ -144,14 +145,13 @@ public class SampleProviderTest extends AbstractProviderTest + "PERM_ID, SHOW_DETAILS_LINK, generatedFromParent, containerParent, " + "property-USER-NAME, property-USER-TIMESTAMP, property-USER-NUMBER, property-USER-TEXT]", getHeaderIDs(tableModel).toString()); - assertEquals( - "[null, null, VARCHAR, VARCHAR, null, VARCHAR, " - + "VARCHAR, VARCHAR, VARCHAR, TIMESTAMP, null, null, VARCHAR, " - + "VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR, TIMESTAMP, REAL, MULTILINE_VARCHAR]", + assertEquals("[null, null, VARCHAR, VARCHAR, null, VARCHAR, " + + "VARCHAR, VARCHAR, VARCHAR, TIMESTAMP, null, null, VARCHAR, " + + "VARCHAR, VARCHAR, VARCHAR, null, VARCHAR, TIMESTAMP, REAL, MULTILINE_VARCHAR]", getHeaderDataTypes(tableModel).toString()); - assertEquals( - "[null, null, null, null, null, null, null, null, null, null, null, null, null, " - + "null, null, null, null, null, null, null, null]", + assertEquals("[SAMPLE, SAMPLE, null, null, SAMPLE, null, " + + "null, null, null, null, EXPERIMENT, EXPERIMENT, null, " + + "null, null, null, SAMPLE, null, null, null, null]", getHeaderEntityKinds(tableModel).toString()); List<TableModelRowWithObject<Sample>> rows = tableModel.getRows(); assertSame(s1.getSample(), rows.get(0).getObjectOrNull()); -- GitLab