diff --git a/mc_openapi/__main__.py b/mc_openapi/__main__.py index 3ce069095a1d1f2cecafadd719dcc8868f5c5655..cfcfda51f6989a5776383219eabfa7c28dbe9871 100644 --- a/mc_openapi/__main__.py +++ b/mc_openapi/__main__.py @@ -55,7 +55,7 @@ else: doml_ver = None if args.doml_version is not None: try: - doml_ver = DOMLVersion[args.doml_version] + doml_ver = DOMLVersion.get(args.doml_version) except: # Suggest valid DOML versions print(f"Unknown DOML version '{args.doml_version}'") diff --git a/mc_openapi/doml_mc/xmi_parser/doml_model.py b/mc_openapi/doml_mc/xmi_parser/doml_model.py index 0659bf67af5beadee8fe0fda9bb4cefc3cfeef1b..9841a6e1762a93bffd71b179c42f13d74845dc48 100644 --- a/mc_openapi/doml_mc/xmi_parser/doml_model.py +++ b/mc_openapi/doml_mc/xmi_parser/doml_model.py @@ -73,7 +73,8 @@ def parse_doml_model(raw_model: bytes, doml_version: Optional[DOMLVersion]) -> T if doml_version is None: doml_versions = [x for x in DOMLVersion] - print(doml_versions) + # Use the most recent DOML version first + doml_versions.reverse() def get_model(raw_model, doml_version): try: diff --git a/mc_openapi/handlers.py b/mc_openapi/handlers.py index 99b3d8521ad36bf1ccef906f9b1d960a2f2c4d7f..e4e82a21f89600915c3d7aa6a8c28a4b2bc02eb1 100644 --- a/mc_openapi/handlers.py +++ b/mc_openapi/handlers.py @@ -1,4 +1,5 @@ import datetime +import os from mc_openapi.doml_mc.domlr_parser.parser import DOMLRTransformer, Parser from mc_openapi.doml_mc.imc import RequirementStore @@ -18,8 +19,14 @@ def make_error(user_msg, debug_msg=None): def post(body): doml_xmi = body try: - - dmc = ModelChecker(doml_xmi) + doml_version = None + try: + doml_version: str = os.environ["DOML_VERSION"] + doml_version = DOMLVersion.get(doml_version) + print("Setting DOML version from DOML_VERSION") + except: + pass + dmc = ModelChecker(doml_xmi, doml_version) user_req_store = None user_req_str_consts = [] diff --git a/tests/doml/v2.1/nginx-aws-ec2.domlx b/tests/doml/v2.1/nginx-aws-ec2.domlx index 9bf39801a9f851526e967b6cf9936898f6c844f3..67ae86db7c8893d91437bd11fe715b7dfd857b4b 100644 --- a/tests/doml/v2.1/nginx-aws-ec2.domlx +++ b/tests/doml/v2.1/nginx-aws-ec2.domlx @@ -28,8 +28,8 @@ <cidr>0.0.0.0/0</cidr> </rules> </securityGroups> - <networks name="vpc" protocol="tcp/ip" addressRange="/24" connectedIfaces="//@infrastructure/@groups.0/@machineDefinition/@ifaces.0"> - <subnets name="vpc_subnet" protocol="tcp/ip" addressRange="/24"/> + <networks name="vpc" protocol="tcp/ip" addressRange="0.0.0.0/24" connectedIfaces="//@infrastructure/@groups.0/@machineDefinition/@ifaces.0"> + <subnets name="vpc_subnet" protocol="tcp/ip" addressRange="0.0.0.0/24"/> </networks> </infrastructure> <concretizations name="con_infra">