From d6d947f7779bf1880049c0d51f825dbdc306f7ad Mon Sep 17 00:00:00 2001 From: vermeul <swen@ethz.ch> Date: Thu, 23 May 2019 13:39:21 +0200 Subject: [PATCH] SSDM-8316: optional permId param allows to store new phyiscal dataSet with a predefined permId --- .../dataset-uploader-api/dataset-uploader-api.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/dataset-uploader/1/dss/reporting-plugins/dataset-uploader-api/dataset-uploader-api.py b/openbis_standard_technologies/dist/core-plugins/dataset-uploader/1/dss/reporting-plugins/dataset-uploader-api/dataset-uploader-api.py index be1020b6320..74bfe7e73fd 100644 --- a/openbis_standard_technologies/dist/core-plugins/dataset-uploader/1/dss/reporting-plugins/dataset-uploader-api/dataset-uploader-api.py +++ b/openbis_standard_technologies/dist/core-plugins/dataset-uploader/1/dss/reporting-plugins/dataset-uploader-api/dataset-uploader-api.py @@ -45,6 +45,7 @@ def process(tr, parameters, tableBuilder): tr.setUserId(userId); if method == "insertDataSet": + permId = parameters.get("permId"); sampleIdentifier = parameters.get("sampleIdentifier"); #String experimentIdentifier = parameters.get("experimentIdentifier"); #String dataSetType = parameters.get("dataSetType"); #String @@ -55,7 +56,7 @@ def process(tr, parameters, tableBuilder): isZipDirectoryUpload = parameters.get("isZipDirectoryUpload"); #String metadata = parameters.get("properties"); #java.util.LinkedHashMap<String, String> where the key is the name parentIdentifiers = parameters.get('parentIdentifiers'); - isOk, result = insertDataSet(tr, sampleIdentifier, experimentIdentifier, dataSetType, folderName, fileNames, isZipDirectoryUpload, metadata, parentIdentifiers); + isOk, result = insertDataSet(tr, permId, sampleIdentifier, experimentIdentifier, dataSetType, folderName, fileNames, isZipDirectoryUpload, metadata, parentIdentifiers); if isOk: tableBuilder.addHeader("STATUS"); @@ -82,10 +83,14 @@ def getThreadProperties(transaction): pass return threadPropertyDict -def insertDataSet(tr, sampleIdentifier, experimentIdentifier, dataSetType, folderName, fileNames, isZipDirectoryUpload, metadata, parentIds): +def insertDataSet(tr, permId, sampleIdentifier, experimentIdentifier, dataSetType, folderName, fileNames, isZipDirectoryUpload, metadata, parentIds): - #Create Dataset - dataSet = tr.createNewDataSet(dataSetType); + #Create Dataset, either with or without a prior defined permId + if permId is not None: + dataSet = tr.createNewDataSet(dataSetType, permId); + else: + dataSet = tr.createNewDataSet(dataSetType); + dataSet.setParentDatasets(parentIds); if sampleIdentifier is not None: dataSetSample = tr.getSampleForUpdate(sampleIdentifier); -- GitLab