From 1e3a9df4080f2be173015a325d78cba59b9aafd1 Mon Sep 17 00:00:00 2001
From: gakin <gakin>
Date: Wed, 5 Apr 2017 17:19:35 +0000
Subject: [PATCH] SSDM-4584 : OpenbisSync nameTranslation bug fix for sample
 and experiment identifiers for data sets in ResourceListParser

SVN: 38019
---
 .../harvester/synchronizer/ResourceListParser.java  | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/sync/harvester/synchronizer/ResourceListParser.java b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/sync/harvester/synchronizer/ResourceListParser.java
index e7c177a920c..a94032f0b21 100644
--- a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/sync/harvester/synchronizer/ResourceListParser.java
+++ b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/sync/harvester/synchronizer/ResourceListParser.java
@@ -283,8 +283,8 @@ public class ResourceListParser
     private void parseDataSetMetaData(XPath xpath, String permId, Node xdNode, Date lastModificationDate)
     {
         String code = extractCode(xdNode);
-        String sample = extractAttribute(xdNode, "sample", true);
-        String experiment = extractAttribute(xdNode, "experiment", true);
+        String sampleIdentifier = extractAttribute(xdNode, "sample", true);
+        String experimentIdentifier = extractAttribute(xdNode, "experiment", true);
         String type = extractType(xdNode);
         String dsKind = extractAttribute(xdNode, "dsKind");
         NewExternalData ds = null;
@@ -308,8 +308,8 @@ public class ResourceListParser
         ds.setDataSetType(new DataSetType(type));
         ds.setDataStoreCode(this.dataStoreCode);
 
-        ds.setSampleIdentifierOrNull(getSampleIdentifier(sample));
-        ds.setExperimentIdentifierOrNull(getExperimentIdentifier(experiment));
+        ds.setSampleIdentifierOrNull(getSampleIdentifier(sampleIdentifier));
+        ds.setExperimentIdentifierOrNull(getExperimentIdentifier(experimentIdentifier));
 
         IncomingDataSet incomingDataSet = data.new IncomingDataSet(ds, lastModificationDate);
         data.getDataSetsToProcess().put(permId, incomingDataSet);
@@ -356,7 +356,7 @@ public class ResourceListParser
         SampleIdentifier sampleIdentifier = SampleIdentifierFactory.parse(sampleIdentifierStr);
         SpaceIdentifier spaceLevel = sampleIdentifier.getSpaceLevel();
         String originalSpaceCode = spaceLevel.getSpaceCode();
-        return new SampleIdentifier(new SpaceIdentifier(nameTranslator.translate(originalSpaceCode)), sampleIdentifier.getSampleCode());
+        return new SampleIdentifier(new SpaceIdentifier(spaceNameTranslator.translate(originalSpaceCode)), sampleIdentifier.getSampleCode());
     }
 
     private ExperimentIdentifier getExperimentIdentifier(String experimentIdentifierStr)
@@ -369,7 +369,8 @@ public class ResourceListParser
         String originalSpaceCode = experimentIdentifier.getSpaceCode();
         String projectCode = experimentIdentifier.getProjectCode();
         String expCode = experimentIdentifier.getExperimentCode();
-        return new ExperimentIdentifier(new ProjectIdentifier(nameTranslator.translate(originalSpaceCode), projectCode), expCode);
+        return new ExperimentIdentifier(new ProjectIdentifier(new SpaceIdentifier(spaceNameTranslator.translate(originalSpaceCode)), projectCode),
+                expCode);
     }
 
     private void parseProjectMetaData(XPath xpath, String permId, Node xdNode, Date lastModificationDate)
-- 
GitLab