diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/initialize-master-data.py b/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/initialize-master-data.py index a341dfe1806c4017775f32cb3692f612e73e7e66..bf2f249601cf58c866ea9d2ff68c4b5d7c8217de 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/initialize-master-data.py +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/initialize-master-data.py @@ -16,14 +16,67 @@ # MasterDataRegistrationTransaction Class from ch.ethz.sis.openbis.generic.server.asapi.v3 import ApplicationServerApi from ch.systemsx.cisd.openbis.generic.server import CommonServiceProvider -from utils.file_handling import list_xls_byte_arrays, get_all_scripts from ch.ethz.sis.openbis.generic.asapi.v3.dto.service.id import CustomASServiceCode from ch.ethz.sis.openbis.generic.asapi.v3.dto.service import CustomASServiceExecutionOptions +# "======================== Helper Functions ========================" + +import os +import sys +from collections import deque +from java.nio.file import Files, Paths +from java.io import File +from java.util import HashMap +from java.util import ArrayList + +TYPES_FOLDER = "%s/master-data/" % [p for p in sys.path if p.find('core-plugins') >= 0][0] +SCRIPTS = os.path.join(TYPES_FOLDER, 'scripts') + + +def get_all_scripts(): + scripts = HashMap() + for rel_path, script in list_all_files(SCRIPTS): + scripts.put(rel_path, script) + + return scripts + + +def list_xls_byte_arrays(): + xls = ArrayList() + for f in os.listdir(TYPES_FOLDER): + if f.endswith('.xls') or f.endswith('.xlsx'): + excel_file = open(os.path.join(TYPES_FOLDER, f)) + xls.add(excel_file.read()) + excel_file.close() + return xls + + +def list_all_files(source_root_path): + todo = [] + todo.append(File(source_root_path)) + while todo: + f = todo.pop() + if f.isDirectory(): + new_files = f.listFiles() + if new_files is not None: + todo.extend(f.listFiles()) + continue + if f.isFile(): + source_file = f.getAbsolutePath() + script_file = open(source_file) + script = script_file.read() + script_file.close() + file_path = source_file.replace(source_root_path, "") + if file_path.startswith("/"): + file_path = file_path[1:] + yield file_path, script + +# "======================== Helper Functions ========================" + api = CommonServiceProvider.getApplicationContext().getBean(ApplicationServerApi.INTERNAL_SERVICE_NAME) sessionToken = api.loginAsSystem() props = CustomASServiceExecutionOptions().withParameter('xls', list_xls_byte_arrays()).withParameter('scripts', get_all_scripts()) result = api.executeCustomASService(sessionToken, CustomASServiceCode("xls-import-api"), props); -print("========================eln-life-sciences-types xls ingestion result========================") +print("======================== master-data xls ingestion result ========================") print(result) -print("========================eln-life-sciences-types xls ingestion result========================") +print("======================== master-data xls ingestion result ========================") diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/life-sciences-types/types.biology.xls b/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/life-sciences-types/types.biology.xls deleted file mode 100644 index 4ddfe69bc619a91bf1ad2e00009233f26130c162..0000000000000000000000000000000000000000 Binary files a/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/life-sciences-types/types.biology.xls and /dev/null differ diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/master-data/data-model.xls b/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/master-data/data-model.xls new file mode 100644 index 0000000000000000000000000000000000000000..302cd5a097ddd00cb492830cac26afec782af14e Binary files /dev/null and b/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/master-data/data-model.xls differ diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/life-sciences-types/types.default.xls b/openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/master-data/types.default.xls similarity index 100% rename from openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/life-sciences-types/types.default.xls rename to openbis_standard_technologies/dist/core-plugins/eln-lims-life-sciences/1/as/master-data/types.default.xls diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/master-data/data-model.xls b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/master-data/data-model.xls index e454fa39ead29bec529cb952522b344f959abbfe..c026315689c7557bb4698693eae5596e21a9af70 100644 Binary files a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/master-data/data-model.xls and b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/master-data/data-model.xls differ diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/plugins/BiologyTechnology.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/plugins/BiologyTechnology.js index b394b8f4e0073465a325c78638d37385689f1e1d..c7dfec2ec059250df5c8157b3db00fa54fb4e916 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/plugins/BiologyTechnology.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/plugins/BiologyTechnology.js @@ -37,19 +37,19 @@ $.extend(BiologyTechnology.prototype, ELNLIMSPlugin.prototype, { "LABEL" : "Chemical", "TYPE": "CHEMICAL", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Solution/Buffer", "TYPE": "SOLUTION_BUFFER", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Media", "TYPE": "MEDIA", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] } ], }, @@ -61,19 +61,19 @@ $.extend(BiologyTechnology.prototype, ELNLIMSPlugin.prototype, { "LABEL" : "Chemical", "TYPE": "CHEMICAL", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Solution/Buffer", "TYPE": "SOLUTION_BUFFER", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Media", "TYPE": "MEDIA", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] } ], }, @@ -85,19 +85,19 @@ $.extend(BiologyTechnology.prototype, ELNLIMSPlugin.prototype, { "LABEL" : "Chemical", "TYPE": "CHEMICAL", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Solution/Buffer", "TYPE": "SOLUTION_BUFFER", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Enzyme", "TYPE": "ENZYME", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, ], }, @@ -109,19 +109,19 @@ $.extend(BiologyTechnology.prototype, ELNLIMSPlugin.prototype, { "LABEL" : "Chemical", "TYPE": "CHEMICAL", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Solution/Buffer", "TYPE": "SOLUTION_BUFFER", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Antibody", "TYPE": "ANTIBODY", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "QUANTITY", "MANDATORY" : false }, {"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.QUANTITY", "MANDATORY" : false }, {"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, ], }, @@ -133,7 +133,7 @@ $.extend(BiologyTechnology.prototype, ELNLIMSPlugin.prototype, { "LABEL" : "Plasmid", "TYPE": "PLASMID", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] } ], }, @@ -145,13 +145,13 @@ $.extend(BiologyTechnology.prototype, ELNLIMSPlugin.prototype, { "LABEL" : "Bacteria parents", "TYPE": "BACTERIA", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Plasmid", "TYPE": "PLASMID", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "PLASMID_RELATIONSHIP", "MANDATORY" : false },{"TYPE" : "PLASMID_ANNOTATION", "MANDATORY" : false },{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.PLASMID.PLASMID_RELATIONSHIP", "MANDATORY" : false },{"TYPE" : "ANNOTATION.PLASMID.PLASMID_ANNOTATION", "MANDATORY" : false },{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] } ], }, @@ -163,13 +163,13 @@ $.extend(BiologyTechnology.prototype, ELNLIMSPlugin.prototype, { "LABEL" : "Yeast parents", "TYPE": "YEAST", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Plasmid", "TYPE": "PLASMID", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "PLASMID_RELATIONSHIP", "MANDATORY" : false },{"TYPE" : "PLASMID_ANNOTATION", "MANDATORY" : false },{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.PLASMID.PLASMID_RELATIONSHIP", "MANDATORY" : false },{"TYPE" : "ANNOTATION.PLASMID.PLASMID_ANNOTATION", "MANDATORY" : false },{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] } ], }, @@ -181,19 +181,19 @@ $.extend(BiologyTechnology.prototype, ELNLIMSPlugin.prototype, { "LABEL" : "Parental cell line", "TYPE": "CELL_LINE", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Plasmid", "TYPE": "PLASMID", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "PLASMID_RELATIONSHIP", "MANDATORY" : false },{"TYPE" : "PLASMID_ANNOTATION", "MANDATORY" : false },{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.PLASMID.PLASMID_RELATIONSHIP", "MANDATORY" : false },{"TYPE" : "ANNOTATION.PLASMID.PLASMID_ANNOTATION", "MANDATORY" : false },{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Parental fly", "TYPE": "FLY", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] } ], }, @@ -205,13 +205,13 @@ $.extend(BiologyTechnology.prototype, ELNLIMSPlugin.prototype, { "LABEL" : "Fly parents", "TYPE": "FLY", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] }, { "LABEL" : "Plasmid", "TYPE": "PLASMID", "MIN_COUNT" : 0, - "ANNOTATION_PROPERTIES" : [{"TYPE" : "PLASMID_RELATIONSHIP", "MANDATORY" : false },{"TYPE" : "PLASMID_ANNOTATION", "MANDATORY" : false },{"TYPE" : "COMMENTS", "MANDATORY" : false }] + "ANNOTATION_PROPERTIES" : [{"TYPE" : "ANNOTATION.PLASMID.PLASMID_RELATIONSHIP", "MANDATORY" : false },{"TYPE" : "ANNOTATION.PLASMID.PLASMID_ANNOTATION", "MANDATORY" : false },{"TYPE" : "ANNOTATION.SYSTEM.COMMENTS", "MANDATORY" : false }] } ], }