From 2047090915a6e74eb78c6ef3fd80030084108733 Mon Sep 17 00:00:00 2001 From: Oleguer Plantalech Date: Thu, 4 Apr 2024 15:45:16 +0200 Subject: [PATCH] Add java_opts to cbioportalImporter.py (#13) * Convert jar_path to java_opts * Keep usage of jar_path and integrate it with java_opts * Make the JAVA_OPTS from the environment the default for --java_opts --- .../scripts/importer/cbioportalImporter.py | 24 +++++++++++++++---- .../resources/scripts/importer/metaImport.py | 10 ++++---- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/resources/scripts/importer/cbioportalImporter.py b/src/main/resources/scripts/importer/cbioportalImporter.py index 0608f2a9..d935e2db 100755 --- a/src/main/resources/scripts/importer/cbioportalImporter.py +++ b/src/main/resources/scripts/importer/cbioportalImporter.py @@ -444,6 +444,9 @@ def check_dir(study_directory): def add_parser_args(parser): parser.add_argument('-s', '--study_directory', type=str, required=False, help='Path to Study Directory') + parser.add_argument('-jvo', '--java_opts', type=str, default=os.environ.get('JAVA_OPTS'), + help='Path to specify JAVA_OPTS for the importer. \ + (default: gets the JAVA_OPTS from the environment)') parser.add_argument('-jar', '--jar_path', type=str, required=False, help='Path to scripts JAR file') parser.add_argument('-meta', '--meta_filename', type=str, required=False, @@ -520,18 +523,29 @@ def main(args): module_logger.addHandler(error_handler) LOGGER = module_logger - # jar_path is optional. If not set, try to find it relative to this script - if args.jar_path is None: + # move jar_path to java_opts if it exists + if args.jar_path: + args.java_opts = f"-cp {args.jar_path} {args.java_opts}" + + # java_opts is optional. If class (jar) path is not set (-cp), try to find the jar path relative to this script + locate_jar_path = True + if args.java_opts is not None and '-cp' in args.java_opts: + locate_jar_path = False + if locate_jar_path: try: - args.jar_path = locate_jar() + jar_path = locate_jar() except FileNotFoundError as e: print(e) sys.exit(2) - print('Data loading step using', args.jar_path) + print('Data loading step using', jar_path) print() + if args.java_opts is None: + args.java_opts = f"-cp {jar_path}" + else: + args.java_opts = f"-cp {jar_path} {args.java_opts}" # process the options - jvm_args = "-Dspring.profiles.active=dbcp -cp " + args.jar_path + jvm_args = "-Dspring.profiles.active=dbcp " + args.java_opts study_directory = args.study_directory # check if DB version and application version are in sync diff --git a/src/main/resources/scripts/importer/metaImport.py b/src/main/resources/scripts/importer/metaImport.py index f8262a59..7fdced9f 100755 --- a/src/main/resources/scripts/importer/metaImport.py +++ b/src/main/resources/scripts/importer/metaImport.py @@ -74,11 +74,13 @@ def interface(): portal_mode_group.add_argument('-n', '--no_portal_checks', default=False, action='store_true', help='Skip tests requiring information ' - 'from the cBioPortal installation') + 'from the cBioPortal installation') + parser.add_argument('-jvo', '--java_opts', type=str, default=os.environ.get('JAVA_OPTS'), + help='Path to specify JAVA_OPTS for the importer. \ + (default: gets the JAVA_OPTS from the environment)') parser.add_argument('-jar', '--jar_path', type=str, required=False, - help=( - 'Path to scripts JAR file (default: locate it ' - 'relative to the import script)')) + help='Path to scripts JAR file (default: locate it ' + 'relative to the import script)') parser.add_argument('-html', '--html_table', type=str, help='path to html report') parser.add_argument('-v', '--verbose', action='store_true',