diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/CriterionWidget.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/CriterionWidget.java index 1c08cdd9ea2789078cdec1483c11ee4c483d6a12..81121553ad6c97dbe589eb74c71ea4ce276b6173 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/CriterionWidget.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/CriterionWidget.java @@ -170,10 +170,7 @@ public class CriterionWidget extends HorizontalPanel final DataSetSearchField selectedFieldName = nameField.tryGetSelectedField(); if (selectedFieldName != null && StringUtils.isBlank(selectedValue) == false) { - final DataSetSearchCriterion result = new DataSetSearchCriterion(); - result.setField(selectedFieldName); - result.setValue(selectedValue); - return result; + return new DataSetSearchCriterion(selectedFieldName, selectedValue); } return null; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchFieldsSelectionWidget.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchFieldsSelectionWidget.java index 013ba4d6c4c6e0a87b68c6f3a9938d6577cd8a49..f7475ea23add20123406fab3bf41cc47c7655987 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchFieldsSelectionWidget.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchFieldsSelectionWidget.java @@ -213,7 +213,7 @@ public final class DataSetSearchFieldsSelectionWidget extends { List<PropertyType> relevantPropertyTypes = DataSetSearchHitModel.filterSamplePropertyTypes(propertyTypes); - return addPropertyTypes(result, relevantPropertyTypes); + return addPropertyTypes(result, relevantPropertyTypes, false); } private static List<String> addExperimentPropertyTypes( @@ -221,19 +221,26 @@ public final class DataSetSearchFieldsSelectionWidget extends { List<PropertyType> relevantPropertyTypes = DataSetSearchHitModel.filterExperimentPropertyTypes(propertyTypes); - return addPropertyTypes(result, relevantPropertyTypes); + return addPropertyTypes(result, relevantPropertyTypes, true); } // returns codes of added properties private static List<String> addPropertyTypes(final List<DataSetSearchFieldComboModel> result, - List<PropertyType> types) + List<PropertyType> types, boolean isExperimentProperty) { List<String> allProps = new ArrayList<String>(); for (final PropertyType st : types) { String code = st.getCode(); allProps.add(code); - DataSetSearchField field = DataSetSearchField.createSampleProperty(code); + DataSetSearchField field; + if (isExperimentProperty) + { + field = DataSetSearchField.createSampleProperty(code); + } else + { + field = DataSetSearchField.createExperimentProperty(code); + } DataSetSearchFieldComboModel comboModel = createPropertyComboModel(st, field, isLabelDuplicated(st, types)); result.add(comboModel); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchHitModel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchHitModel.java index d20e419b48c45d9ec2f19b75a11b28bbdaf89eac..cb0b0c6089f9808482bbc0403c405c4f6c261e2d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchHitModel.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetSearchHitModel.java @@ -173,6 +173,8 @@ public class DataSetSearchHitModel extends BaseEntityModel<DataSetSearchHit> public static final class DataSetSamplePropertyColDef extends AbstractPropertyColDef<DataSetSearchHit> { + private static final String ID_PREFIX = "sample"; + // GWT only public DataSetSamplePropertyColDef() { @@ -181,7 +183,7 @@ public class DataSetSearchHitModel extends BaseEntityModel<DataSetSearchHit> private DataSetSamplePropertyColDef(PropertyType propertyType, boolean isDisplayedByDefault, int width, String propertyTypeLabel) { - super(propertyType, isDisplayedByDefault, width, propertyTypeLabel); + super(propertyType, isDisplayedByDefault, width, propertyTypeLabel, ID_PREFIX); } @Override @@ -194,6 +196,8 @@ public class DataSetSearchHitModel extends BaseEntityModel<DataSetSearchHit> public static final class DataSetExperimentPropertyColDef extends AbstractPropertyColDef<DataSetSearchHit> { + private static final String ID_PREFIX = "exp"; + // GWT only public DataSetExperimentPropertyColDef() { @@ -202,7 +206,7 @@ public class DataSetSearchHitModel extends BaseEntityModel<DataSetSearchHit> public DataSetExperimentPropertyColDef(PropertyType propertyType, boolean isDisplayedByDefault, int width, String propertyTypeLabel) { - super(propertyType, isDisplayedByDefault, width, propertyTypeLabel); + super(propertyType, isDisplayedByDefault, width, propertyTypeLabel, ID_PREFIX); } @Override diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/columns/PropertyExperimentColDef.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/columns/PropertyExperimentColDef.java index fc1b1691b6d6263a09735d631318deb4de7274be..370fd3a7d32651de32dc428528426aa7ac253d15 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/columns/PropertyExperimentColDef.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/columns/PropertyExperimentColDef.java @@ -34,7 +34,7 @@ public class PropertyExperimentColDef extends AbstractPropertyColDef<Experiment> // GWT only public PropertyExperimentColDef() { - super(null, false, 0, false, null); + super(null, false, 0, false, null, null); } public PropertyExperimentColDef(PropertyType propertyType) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractPropertyColDef.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractPropertyColDef.java index a14838868afc0bfc2379346a9fae692d76cd12d9..e3308c45b7876fce94b6212f084330bab9cf752e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractPropertyColDef.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/AbstractPropertyColDef.java @@ -35,6 +35,8 @@ public abstract class AbstractPropertyColDef<T> extends AbstractColumnDefinition private static final String PROPERTY_PREFIX = "property"; + private String identifierPrefix; + private boolean isInternalNamespace; private String simpleCode; @@ -46,22 +48,24 @@ public abstract class AbstractPropertyColDef<T> extends AbstractColumnDefinition public AbstractPropertyColDef(PropertyType propertyType, boolean isDisplayedByDefault) { - this(propertyType, isDisplayedByDefault, PROPERTY_COLUMN_WIDTH, propertyType.getLabel()); + this(propertyType, isDisplayedByDefault, PROPERTY_COLUMN_WIDTH, propertyType.getLabel(), ""); } public AbstractPropertyColDef(PropertyType propertyType, boolean isDisplayedByDefault, - int width, String propertyTypeLabel) + int width, String propertyTypeLabel, String identifierPrefix) { this(propertyType.getSimpleCode(), isDisplayedByDefault, width, propertyType - .isInternalNamespace(), propertyTypeLabel); + .isInternalNamespace(), propertyTypeLabel, identifierPrefix + PROPERTY_PREFIX); } protected AbstractPropertyColDef(String propertyTypeCode, boolean isDisplayedByDefault, - int width, boolean isInternalNamespace, String propertyTypeLabel) + int width, boolean isInternalNamespace, String propertyTypeLabel, + String identifierPrefix) { super(propertyTypeLabel, width, isDisplayedByDefault); this.isInternalNamespace = isInternalNamespace; this.simpleCode = propertyTypeCode; + this.identifierPrefix = identifierPrefix; } @Override @@ -91,6 +95,6 @@ public abstract class AbstractPropertyColDef<T> extends AbstractColumnDefinition public String getIdentifier() { - return PROPERTY_PREFIX + isInternalNamespace + simpleCode; + return identifierPrefix + isInternalNamespace + simpleCode; } } \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/columns/PropertySampleColDef.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/columns/PropertySampleColDef.java index 5e282d79c911290db6a6d3286ba2839ddfd286a9..7376ad3337b7427d77e5aec6b5056226e0527087 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/columns/PropertySampleColDef.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/columns/PropertySampleColDef.java @@ -30,7 +30,7 @@ class PropertySampleColDef extends AbstractPropertyColDef<Sample> implements IsS // GWT only public PropertySampleColDef() { - super(null, false, 0, false, null); + super(null, false, 0, false, null, null); } public PropertySampleColDef(PropertyType propertyType, boolean isDisplayedByDefault) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetSearchCriterion.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetSearchCriterion.java index 4d5ed61451038382fee13254fc5c8f51ce42fc33..0895311fe90d0e25934e782b91b3f76d3d466491 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetSearchCriterion.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetSearchCriterion.java @@ -212,6 +212,12 @@ public class DataSetSearchCriterion implements IsSerializable { } + public DataSetSearchCriterion(DataSetSearchField field, String value) + { + this.field = field; + this.value = value; + } + public DataSetSearchField getField() { return field;