From 43dd5dcac77150bfb5dc59bac3f93a0e19ce0791 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Tue, 13 May 2014 13:28:23 +0000 Subject: [PATCH] SSDM-121: DTOs of APIs are extended to get all containers a data set is component of. SVN: 31498 --- .../generic/shared/api/v1/dto/DataSet.java | 33 ++++++++++++------- .../shared/api/v1/dto/DataSetFetchOption.java | 2 +- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/DataSet.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/DataSet.java index 5218926dfd9..6989386d015 100644 --- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/DataSet.java +++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/DataSet.java @@ -92,8 +92,8 @@ public final class DataSet implements Serializable, IIdHolder private List<DataSet> containedDataSets = Collections.emptyList(); - private DataSet containerOrNull; - + private List<DataSet> containerDataSets = Collections.emptyList(); + private HashMap<String, String> properties = new HashMap<String, String>(); private List<Metaproject> metaprojects = new ArrayList<Metaproject>(); @@ -237,14 +237,15 @@ public final class DataSet implements Serializable, IIdHolder (null == containedDataSets) ? new ArrayList<DataSet>() : containedDataSets; } - public DataSet getContainerOrNull() + public List<DataSet> getContainerDataSets() { - return containerOrNull; + return containerDataSets; } - public void setContainerOrNull(DataSet containerOrNull) + public void setContainerDataSets(List<DataSet> containerDataSets) { - this.containerOrNull = containerOrNull; + this.containerDataSets = + (null == containerDataSets) ? new ArrayList<DataSet>() : containerDataSets; } public boolean isLinkDataSet() @@ -339,7 +340,7 @@ public final class DataSet implements Serializable, IIdHolder private List<DataSet> containedDataSets = Collections.emptyList(); - private DataSet containerOrNull; + private List<DataSet> containerDataSets = Collections.emptyList(); private EntityRegistrationDetails registrationDetails; @@ -384,7 +385,7 @@ public final class DataSet implements Serializable, IIdHolder "Unspecified entity registration details."); this.registrationDetails = initializer.getRegistrationDetails(); this.containerDataSet = initializer.isContainerDataSet(); - this.containerOrNull = initializer.getContainerOrNull(); + this.containerDataSets = initializer.getContainerDataSets(); this.containedDataSets = initializer.getContainedDataSets(); this.linkDataSet = initializer.isLinkDataSet(); this.externalDataSetCode = initializer.getExternalDataSetCode(); @@ -520,10 +521,20 @@ public final class DataSet implements Serializable, IIdHolder /** * @since 1.20 + * @deprecated Use {@link #getContainerDataSets()}. */ + @Deprecated public DataSet getContainerOrNull() { - return containerOrNull; + return containerDataSets.isEmpty() ? null : containerDataSets.get(0); + } + + /** + * @since 1.27 + */ + public List<DataSet> getContainerDataSets() + { + return containerDataSets; } public boolean isLinkDataSet() @@ -692,9 +703,9 @@ public final class DataSet implements Serializable, IIdHolder this.containerDataSet = containerDataSet; } - private void setContainerOrNull(DataSet containerOrNull) + private void setContainerDataSets(List<DataSet> containerDataSets) { - this.containerOrNull = containerOrNull; + this.containerDataSets = containerDataSets; } private void setLinkDataSet(boolean linkDataSet) diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/DataSetFetchOption.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/DataSetFetchOption.java index dd2caa4cbb9..36b44a8d721 100644 --- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/DataSetFetchOption.java +++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/DataSetFetchOption.java @@ -43,7 +43,7 @@ public enum DataSetFetchOption implements FetchOption PARENTS, /** The children of a dataset. */ CHILDREN, - /** The container of a dataset, if it is a contained dataset. */ + /** The containers of a dataset, if it is a contained dataset. */ CONTAINER, /** The contained datasets of a dataset, if it is a container. */ CONTAINED, -- GitLab