Skip to content
Snippets Groups Projects
Commit 421d3a66 authored by juanf's avatar juanf
Browse files

SSDM-13033 : Improvement : XLS Sample Regitration/Update to use batch operations

parent fc3b9089
No related branches found
No related tags found
1 merge request!40SSDM-13578 : 2PT : Database and V3 Implementation - include the new AFS "free"...
...@@ -8,6 +8,8 @@ import ch.ethz.sis.openbis.generic.server.xls.importer.utils.AttributeValidator ...@@ -8,6 +8,8 @@ import ch.ethz.sis.openbis.generic.server.xls.importer.utils.AttributeValidator
import ch.ethz.sis.openbis.generic.server.xls.importer.helper.SampleImportHelper as SampleImportHelper import ch.ethz.sis.openbis.generic.server.xls.importer.helper.SampleImportHelper as SampleImportHelper
import ch.systemsx.cisd.common.logging.LogCategory as LogCategory; import ch.systemsx.cisd.common.logging.LogCategory as LogCategory;
import ch.systemsx.cisd.common.logging.LogFactory as LogFactory; import ch.systemsx.cisd.common.logging.LogFactory as LogFactory;
from java.nio.file import Files
from java.io import File
isOpenBIS2020 = True; isOpenBIS2020 = True;
enableNewSearchEngine = isOpenBIS2020; enableNewSearchEngine = isOpenBIS2020;
...@@ -331,21 +333,18 @@ def _create_cell(row, cell_index, style, value): ...@@ -331,21 +333,18 @@ def _create_cell(row, cell_index, style, value):
return cell_index + 1 return cell_index + 1
def importSamples(context, parameters): def importSamples(context, parameters):
from org.apache.commons.io import IOUtils
sessionKey = parameters.get("sessionKey") sessionKey = parameters.get("sessionKey")
allowedSampleTypes = parameters.get("allowedSampleTypes") allowedSampleTypes = parameters.get("allowedSampleTypes")
experimentsByType = parameters.get("experimentsByType", {}) experimentsByType = parameters.get("experimentsByType", {})
spacesByType = parameters.get("spacesByType", {}) spacesByType = parameters.get("spacesByType", {})
mode = parameters.get("mode") mode = parameters.get("mode")
barcodeValidationInfo = json.loads(parameters.get("barcodeValidationInfo")) barcodeValidationInfo = json.loads(parameters.get("barcodeValidationInfo"))
contextProvider = CommonServiceProvider.getApplicationContext().getBean("request-context-provider") sessionManager = CommonServiceProvider.getApplicationContext().getBean("session-manager")
uploadedFiles = contextProvider.getHttpServletRequest().getSession(False).getAttribute(sessionKey) sessionWorkspaceProvider = CommonServiceProvider.getApplicationContext().getBean("session-workspace-provider")
results = [] workspaceFolder = sessionWorkspaceProvider.getSessionWorkspace(context.getSessionToken())
for file in uploadedFiles.iterable(): uploadedFile = File(workspaceFolder, sessionKey)
file_name = file.getOriginalFilename() bytes = Files.readAllBytes(uploadedFile.toPath())
bytes = IOUtils.toByteArray(file.getInputStream()) results = importData(context, bytes, sessionKey, experimentsByType, spacesByType, mode, False)
results.append(importData(context, bytes, file_name, experimentsByType, spacesByType, mode, False))
return results return results
def validateExperimentOrSpaceDefined(row_number, properties, mode, experiment, space): def validateExperimentOrSpaceDefined(row_number, properties, mode, experiment, space):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment