Loading src/saref_pypeline/check/TS103673_Clause_9_4_5_Checker.py +33 −10 Original line number Diff line number Diff line import hashlib import os import owlready2.reasoning from saref_pypeline.check.constants import JAVA_CMD from saref_pypeline.check.BaseGraphDocumentChecker import BaseGraphDocumentChecker from saref_pypeline.entities import SAREFGraphDocument, SAREFGraphDocumentType import owlready2 import re import requests from rdflib import Graph, URIRef import hashlib from urllib.request import urlretrieve import subprocess import tempfile from typing import TYPE_CHECKING from rdflib import DCMITYPE, DCTERMS, RDF, OWL from urllib.request import urlretrieve from rdflib import Graph, URIRef, DCMITYPE, DCTERMS, RDF, OWL import owlready2 import owlready2.reasoning from saref_pypeline.check.BaseGraphDocumentChecker import BaseGraphDocumentChecker from saref_pypeline.check.constants import JAVA_CMD from saref_pypeline.entities import SAREFGraphDocument, SAREFGraphDocumentType from saref_pypeline.utils import filter_document, filter_clause if TYPE_CHECKING: from saref_pypeline.pipeline import SAREFPipeline def java_major_version(java_cmd="java"): try: out = subprocess.check_output([java_cmd, "-version"], stderr=subprocess.STDOUT) first_line = out.decode().splitlines()[0] match = re.search(r'\"(\d+)(\.\d+)?', first_line) if not match: return None version_str = match.group(1) if version_str == "1": # e.g. 1.8 return 8 return int(version_str) except Exception: return None major = java_major_version(JAVA_CMD) class Checker(BaseGraphDocumentChecker): Loading Loading @@ -82,7 +99,13 @@ class Checker(BaseGraphDocumentChecker): return # Run the JAR file command = [JAVA_CMD, "-jar", jar_path, file_name, "OWL2_DL"] command = [JAVA_CMD] if major and major >= 9: command += [ "--add-opens", "java.base/java.lang=ALL-UNNAMED", "--add-opens", "java.base/java.lang.reflect=ALL-UNNAMED", ] command += ["-jar", jar_path, file_name, "OWL2_DL"] try: result = subprocess.run(command, text=True, capture_output=True) errs = result.stderr.split("\n") Loading Loading
src/saref_pypeline/check/TS103673_Clause_9_4_5_Checker.py +33 −10 Original line number Diff line number Diff line import hashlib import os import owlready2.reasoning from saref_pypeline.check.constants import JAVA_CMD from saref_pypeline.check.BaseGraphDocumentChecker import BaseGraphDocumentChecker from saref_pypeline.entities import SAREFGraphDocument, SAREFGraphDocumentType import owlready2 import re import requests from rdflib import Graph, URIRef import hashlib from urllib.request import urlretrieve import subprocess import tempfile from typing import TYPE_CHECKING from rdflib import DCMITYPE, DCTERMS, RDF, OWL from urllib.request import urlretrieve from rdflib import Graph, URIRef, DCMITYPE, DCTERMS, RDF, OWL import owlready2 import owlready2.reasoning from saref_pypeline.check.BaseGraphDocumentChecker import BaseGraphDocumentChecker from saref_pypeline.check.constants import JAVA_CMD from saref_pypeline.entities import SAREFGraphDocument, SAREFGraphDocumentType from saref_pypeline.utils import filter_document, filter_clause if TYPE_CHECKING: from saref_pypeline.pipeline import SAREFPipeline def java_major_version(java_cmd="java"): try: out = subprocess.check_output([java_cmd, "-version"], stderr=subprocess.STDOUT) first_line = out.decode().splitlines()[0] match = re.search(r'\"(\d+)(\.\d+)?', first_line) if not match: return None version_str = match.group(1) if version_str == "1": # e.g. 1.8 return 8 return int(version_str) except Exception: return None major = java_major_version(JAVA_CMD) class Checker(BaseGraphDocumentChecker): Loading Loading @@ -82,7 +99,13 @@ class Checker(BaseGraphDocumentChecker): return # Run the JAR file command = [JAVA_CMD, "-jar", jar_path, file_name, "OWL2_DL"] command = [JAVA_CMD] if major and major >= 9: command += [ "--add-opens", "java.base/java.lang=ALL-UNNAMED", "--add-opens", "java.base/java.lang.reflect=ALL-UNNAMED", ] command += ["-jar", jar_path, file_name, "OWL2_DL"] try: result = subprocess.run(command, text=True, capture_output=True) errs = result.stderr.split("\n") Loading