From 056b7b6f2b522c48b632084043a0bac4aa376c45 Mon Sep 17 00:00:00 2001 From: gpawel <gpawel> Date: Wed, 27 Jun 2012 07:27:42 +0000 Subject: [PATCH] SP-168 BIS-90 : translate link data sets SVN: 25884 --- .../openbis/generic/shared/dto/LinkDataPE.java | 2 +- .../shared/translator/DataSetTranslator.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/LinkDataPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/LinkDataPE.java index 3869ab3ee99..5a04bd99536 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/LinkDataPE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/LinkDataPE.java @@ -77,7 +77,7 @@ public class LinkDataPE extends DataPE @Transient public LinkDataPE tryAsLinkData() { - return null; + return this; } @Override diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java index 355c24b0390..4ba726a7840 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java @@ -34,6 +34,7 @@ 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.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.LinkDataSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PlaceholderDataSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType; @@ -45,6 +46,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataPE; +import ch.systemsx.cisd.openbis.generic.shared.dto.LinkDataPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE; import ch.systemsx.cisd.openbis.generic.shared.dto.PropertyTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; @@ -146,6 +148,9 @@ public class DataSetTranslator if (dataPE.isContainer()) { externalData = translateContainerDataSetProperties(dataPE, baseIndexURL, withDetails); + } else if (dataPE.isLinkData()) + { + externalData = translateLinkDataSetProperties(dataPE, baseIndexURL); } else if (dataPE instanceof ExternalDataPE) { externalData = translateDataSetProperties((ExternalDataPE) dataPE); @@ -206,6 +211,18 @@ public class DataSetTranslator return containerDataSet; } + private static LinkDataSet translateLinkDataSetProperties(DataPE dataPE, String baseIndexURL) + { + LinkDataSet linkDataSet = new LinkDataSet(); + LinkDataPE linkDataPE = dataPE.tryAsLinkData(); + + linkDataSet.setExternalDataManagementSystem(ExternalDataManagementSystemTranslator + .translate(linkDataPE.getExternalDataManagementSystem())); + linkDataSet.setExternalCode(linkDataPE.getExternalCode()); + + return linkDataSet; + } + private static ExternalData translateDataSetProperties(ExternalDataPE externalDataPE) { DataSet dataSet = new DataSet(); -- GitLab