From 2969a50c4ee695bea2083b41e6612e4cbaabee4f Mon Sep 17 00:00:00 2001 From: Ivan Garcia Sainz-Aja Date: Sat, 21 Oct 2023 11:32:41 +0100 Subject: [PATCH 1/2] fix parsing "entity_table_name" --- src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 b/src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 index 1df913e..2a9d01a 100644 --- a/src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 +++ b/src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 @@ -174,9 +174,9 @@ option_value: complex_value; // entities entity: javadoc? annotations ENTITY entity_definition entity_body; -entity_definition: entity_name entity_table_name?; +entity_definition: entity_name (LPAREN entity_table_name RPAREN)?; entity_name: keyword; -entity_table_name: LPAREN keyword RPAREN; +entity_table_name: keyword; entity_body: LBRACE fields RBRACE; fields: (field COMMA?)*; From b35d1066666a724852322645a1da51396e38e38e Mon Sep 17 00:00:00 2001 From: Ivan Garcia Sainz-Aja Date: Sun, 5 Nov 2023 17:11:21 +0100 Subject: [PATCH 2/2] fix parsing "entity_table_name" and api role --- .../antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 | 2 +- .../github/zenwave360/zdl/antlr/ZdlListenerImpl.java | 6 +++--- src/test/resources/simple.zdl | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 b/src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 index 2a9d01a..276936c 100644 --- a/src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 +++ b/src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4 @@ -180,7 +180,7 @@ entity_table_name: keyword; entity_body: LBRACE fields RBRACE; fields: (field COMMA?)*; -field: javadoc? annotations field_name field_type entity_table_name? (field_validations)* suffix_javadoc? (nested_field)?; +field: javadoc? annotations field_name field_type (LPAREN entity_table_name RPAREN)? (field_validations)* suffix_javadoc? (nested_field)?; nested_field: LBRACE (field)* RBRACE nested_field_validations*; field_name: keyword; field_type: ID | ID ARRAY; diff --git a/src/main/java/io/github/zenwave360/zdl/antlr/ZdlListenerImpl.java b/src/main/java/io/github/zenwave360/zdl/antlr/ZdlListenerImpl.java index 65ec9e8..b6f6b44 100644 --- a/src/main/java/io/github/zenwave360/zdl/antlr/ZdlListenerImpl.java +++ b/src/main/java/io/github/zenwave360/zdl/antlr/ZdlListenerImpl.java @@ -69,9 +69,9 @@ public void enterConfig_option(io.github.zenwave360.zdl.antlr.ZdlParser.Config_o @Override public void enterApi(io.github.zenwave360.zdl.antlr.ZdlParser.ApiContext ctx) { - var name = ctx.api_name().getText(); - var type = ctx.api_type().getText(); - var role = ctx.api_role().getText(); + var name = getText(ctx.api_name()); + var type = getText(ctx.api_type()); + var role = getText(ctx.api_role(), "provider"); var javadoc = javadoc(ctx.javadoc()); currentStack.push(new FluentMap() .with("name", name) diff --git a/src/test/resources/simple.zdl b/src/test/resources/simple.zdl index 9676f0b..1c2114c 100644 --- a/src/test/resources/simple.zdl +++ b/src/test/resources/simple.zdl @@ -14,10 +14,10 @@ config { apis { /** Customer API javadoc comment */ - asyncapi(client) BASA { - uri 'classpath:/basa-asyncapi.yml' - consumerPackage 'com.basa.consumer' - modelPackage 'com.basa.model' + asyncapi(client) BRASA { + uri 'classpath:/BRASA-asyncapi.yml' + consumerPackage 'com.brasa.consumer' + modelPackage 'com.brasa.model' } } @@ -111,7 +111,7 @@ service CustomerService for (Customer) { * Create customer javadoc comment */ @post("/customers") - @inbound({ api: "BASA", operationId: "createCustomer"}) + @inbound({ api: "BRASA", operationId: "createCustomer"}) @query({api: "doxis", operationId: "createCustomer"}) createCustomer(CustomerInput) Customer withEvents CustomerEvent [CustomerCreated|CustomerCreatedFailed] @@ -135,7 +135,7 @@ event CustomerCreated { customer Customer } -@asyncapi({ api: 'BASA', operationId: 'createCustomer', topic: 'tratra' }) +@asyncapi({ api: 'BRASA', operationId: 'createCustomer', topic: 'tratra' }) event CustomerUpdated { customerId String customer CustomerPayload {