From 41b3a08b12a1efc640e62e5f80f5dd62e13a488b Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Tue, 6 Oct 2015 10:09:12 +0000
Subject: [PATCH] SSDM-2510 : Access ETL service token from dropbox

SVN: 34793
---
 .../api/v2/DataSetRegistrationTransactionV2Delegate.java    | 5 +++++
 .../api/v2/IDataSetRegistrationTransactionV2.java           | 5 +++++
 .../api/v2/impl/DataSetRegistrationTransaction.java         | 5 +++++
 .../server/EncapsulatedFilteredBasicOpenBISService.java     | 6 ++++++
 .../dss/generic/server/EncapsulatedOpenBISService.java      | 6 +++++-
 .../generic/shared/IEncapsulatedBasicOpenBISService.java    | 5 +++++
 6 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/DataSetRegistrationTransactionV2Delegate.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/DataSetRegistrationTransactionV2Delegate.java
index 5764add1237..11de0a73b04 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/DataSetRegistrationTransactionV2Delegate.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/DataSetRegistrationTransactionV2Delegate.java
@@ -50,6 +50,11 @@ public class DataSetRegistrationTransactionV2Delegate implements IDataSetRegistr
         this.transaction = transaction;
     }
 
+    @Override
+    public String getOpenBisServiceSessionToken() {
+        return transaction.getOpenBisServiceSessionToken();
+    }
+    
     @Override
     public IDataSet createNewDataSet()
     {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/IDataSetRegistrationTransactionV2.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/IDataSetRegistrationTransactionV2.java
index 4de166aeaef..31910ffe58b 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/IDataSetRegistrationTransactionV2.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/IDataSetRegistrationTransactionV2.java
@@ -471,6 +471,11 @@ public interface IDataSetRegistrationTransactionV2
      */
     List<IAttachmentImmutable> listAttachments(ISampleImmutable sample);
 
+    /**
+     * Returns the currently used session token by the openBIS service
+     */
+    String getOpenBisServiceSessionToken();
+
     /**
      * Returns the logger object that logs messages to openbis operation log and data store server registration logs.
      */
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/DataSetRegistrationTransaction.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/DataSetRegistrationTransaction.java
index dd94e5215ed..1d9f2ed4cfe 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/DataSetRegistrationTransaction.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/DataSetRegistrationTransaction.java
@@ -240,6 +240,11 @@ public class DataSetRegistrationTransaction<T extends DataSetInformation> implem
         dssRegistrationLog.info(operationLog, "Start registration");
     }
 
+    @Override
+    public String getOpenBisServiceSessionToken() {
+        return openBisService.getSessionToken();
+    }
+    
     @Override
     public IDSSRegistrationLogger getLogger()
     {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedFilteredBasicOpenBISService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedFilteredBasicOpenBISService.java
index 75c012f1b66..d014e2757bf 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedFilteredBasicOpenBISService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedFilteredBasicOpenBISService.java
@@ -272,4 +272,10 @@ public class EncapsulatedFilteredBasicOpenBISService implements IEncapsulatedBas
         return AuthorizationHelper.filterToVisible(encapsulatedService, userName, data,
                 externalDataCodeMapper, AuthorizationHelper.EntityKind.DATA_SET);
     }
+
+    @Override
+    public String getSessionToken()
+    {
+        return systemSessionToken;
+    }
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java
index 392f831cfba..e59d6d7bb22 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java
@@ -290,7 +290,11 @@ public final class EncapsulatedOpenBISService implements IEncapsulatedOpenBISSer
     //
     // IEncapsulatedOpenBISService
     //
-
+    @Override
+    public String getSessionToken() {
+        return session.getSessionToken();
+    }
+    
     @Override
     public Experiment tryGetExperiment(ExperimentIdentifier experimentIdentifier)
     {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedBasicOpenBISService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedBasicOpenBISService.java
index 0019ad9ab7c..b1e81e60090 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedBasicOpenBISService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedBasicOpenBISService.java
@@ -195,4 +195,9 @@ public interface IEncapsulatedBasicOpenBISService
     @ManagedAuthentication
     public Map<IObjectId, List<Metaproject>> listMetaprojectsForEntities(Collection<? extends IObjectId> entityIds);
 
+    /**
+     * Returns the session token used by the service.
+     */
+    @ManagedAuthentication
+    public String getSessionToken();
 }
-- 
GitLab