diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationDetails.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationDetails.java index 7a7b9cd15b7d70b8f43502be4ac777db51c86aee..4b0ab782301347e511a96c7a9230a39d6b6a4c3a 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationDetails.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationDetails.java @@ -141,14 +141,20 @@ public class DataSetRegistrationDetails<T extends DataSetInformation> implements public void setPropertyValue(String propertyCode, String propertyValue) { ExtractableData datasetExtractableData = dataSetInformation.getExtractableData(); - List<NewProperty> properties = datasetExtractableData.getDataSetProperties(); - NewProperty property = EntityHelper.tryFindProperty(properties, propertyCode); - if (property != null) + if (propertyValue == null) { - property.setValue(propertyValue); + datasetExtractableData.removeDataSetProperty(propertyCode); } else { - properties.add(new NewProperty(propertyCode, propertyValue)); + List<NewProperty> properties = datasetExtractableData.getDataSetProperties(); + NewProperty property = EntityHelper.tryFindProperty(properties, propertyCode); + if (property != null) + { + property.setValue(propertyValue); + } else + { + properties.add(new NewProperty(propertyCode, propertyValue)); + } } }