diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ExperimentModel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ExperimentModel.java index 50b678436fa8baf4604a9b6989f6c47e362e2e3e..bec545299e6a2302ad45cfafef52764030d8c643 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ExperimentModel.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ExperimentModel.java @@ -46,10 +46,12 @@ public final class ExperimentModel extends BaseModelData public ExperimentModel(final Experiment experiment) { set(ModelDataPropertyNames.CODE, experiment.getCode()); - set(ModelDataPropertyNames.EXPERIMENT_TYPE_CODE, experiment.getExperimentType().getCode()); + set(ModelDataPropertyNames.EXPERIMENT_TYPE_CODE_FOR_EXPERIMENT, experiment + .getExperimentType().getCode()); set(ModelDataPropertyNames.EXPERIMENT_TYPE, experiment.getExperimentType()); set(ModelDataPropertyNames.EXPERIMENT_IDENTIFIER, experiment.getExperimentIdentifier()); - set(ModelDataPropertyNames.GROUP, experiment.getProject().getGroup().getCode()); + set(ModelDataPropertyNames.GROUP_FOR_EXPERIMENT, experiment.getProject().getGroup() + .getCode()); set(ModelDataPropertyNames.PROJECT, experiment.getProject().getCode()); set(ModelDataPropertyNames.OBJECT, experiment); set(ModelDataPropertyNames.REGISTRATOR, PersonRenderer.createPersonAnchor(experiment diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java index 7fecb25fac9467b408ecc6c8f09cb755872ea732..54544a540c72cf6aa6a5ff1a2fdc61f33bf97c9d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/ModelDataPropertyNames.java @@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.model; import com.extjs.gxt.ui.client.data.ModelData; +import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Experiment; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Sample; /** @@ -70,12 +71,29 @@ public final class ModelDataPropertyNames public static final String EXPERIMENT_IDENTIFIER_FOR_SAMPLE = EXPERIMENT_FOR_SAMPLE + FIELD_PATH_SEPARATOR + "experimentIdentifier"; + /** + * This is the path to the experiment type code field starting from {@link Experiment}. + * <p> + * Changing this may mean that sorting no longer works on the server side if result set is used. + * </p> + */ + public static final String EXPERIMENT_TYPE_CODE_FOR_EXPERIMENT = + "experimentType" + FIELD_PATH_SEPARATOR + "code"; + public static final String FILE_FORMAT_TYPE = "fileFormatType"; public static final String FIRST_NAME = "firstName"; public static final String GROUP = "group"; + /** + * This is the path to the project field starting from {@link Experiment}. + * <p> + * Changing this may mean that sorting no longer works on the server side if result set is used. + * </p> + */ + public static final String GROUP_FOR_EXPERIMENT = "project" + FIELD_PATH_SEPARATOR + "group"; + public static final String IDENTIFIER = "identifier"; public static final String DATABASE_INSTANCE = "databaseInstance"; @@ -125,8 +143,6 @@ public final class ModelDataPropertyNames public static final String PROJECT = "project"; - public static final String EXPERIMENT_TYPE_CODE = "experimentTypeCode"; - public static final String EXPERIMENT_IDENTIFIER = "experimentIdentifier"; private ModelDataPropertyNames() diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment_browser/ExperimentBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment_browser/ExperimentBrowserGrid.java index dce49b6fbb6739cc4b3a62962e48b4da74d521c8..af10457c0166b4144b528937ba15ad9e6fda28a9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment_browser/ExperimentBrowserGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment_browser/ExperimentBrowserGrid.java @@ -192,9 +192,9 @@ public final class ExperimentBrowserGrid extends LayoutContainer configs.add(ColumnConfigFactory.createCodeColumnConfig(viewContext.getMessageProvider())); configs.add(ColumnConfigFactory.createDefaultConfig(viewContext.getMessageProvider(), - ModelDataPropertyNames.EXPERIMENT_TYPE_CODE, "experiment_type")); + ModelDataPropertyNames.EXPERIMENT_TYPE_CODE_FOR_EXPERIMENT, "experiment_type")); configs.add(ColumnConfigFactory.createDefaultConfig(viewContext.getMessageProvider(), - ModelDataPropertyNames.GROUP)); + ModelDataPropertyNames.GROUP_FOR_EXPERIMENT, "group")); configs.add(ColumnConfigFactory.createDefaultConfig(viewContext.getMessageProvider(), ModelDataPropertyNames.PROJECT)); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/Person.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/Person.java index 9a2ac4daa9460d0e5d2c0f8b08df9d366950f67b..03dbb191ab4e376891396c5794901d2ed66bbbe6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/Person.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/Person.java @@ -23,7 +23,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; * * @author Franz-Josef Elmer */ -public class Person extends AbstractRegistrationHolder +public class Person extends AbstractRegistrationHolder implements Comparable<Person> { private String firstName; @@ -76,7 +76,7 @@ public class Person extends AbstractRegistrationHolder @Override public String toString() { - StringBuilder result = new StringBuilder(); + final StringBuilder result = new StringBuilder(); if (firstName != null && lastName != null) { result.append(firstName); @@ -88,4 +88,15 @@ public class Person extends AbstractRegistrationHolder } return result.toString(); } + + public int compareTo(final Person o) + { + if (o == null) + { + return -1; + } else + { + return this.toString().compareTo(o.toString()); + } + } }