Skip to content

Commit c714c62

Browse files
authored
Merge pull request #18 from ZenWave360/develop
upgrade dependencies
2 parents bb00670 + b1259a8 commit c714c62

File tree

5 files changed

+49
-15
lines changed

5 files changed

+49
-15
lines changed

pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,12 @@
5353
<maven.compiler.source>${java.version}</maven.compiler.source>
5454
<maven.compiler.target>${java.version}</maven.compiler.target>
5555
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
56-
<antlr4.version>4.12.0</antlr4.version>
56+
<antlr4.version>4.13.2</antlr4.version>
5757
<json-path.version>2.9.0</json-path.version>
58-
<junit.version>5.9.2</junit.version>
59-
<commons-io.version>2.11.0</commons-io.version>
60-
<jackson.version>2.14.2</jackson.version>
61-
<commons-lang3.version>3.12.0</commons-lang3.version>
58+
<junit.version>5.11.4</junit.version>
59+
<commons-io.version>2.18.0</commons-io.version>
60+
<jackson.version>2.18.2</jackson.version>
61+
<commons-lang3.version>3.17.0</commons-lang3.version>
6262
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
6363
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
6464
<maven.javadoc.skip>true</maven.javadoc.skip>

src/main/antlr4/io.github.zenwave360.zdl.antlr/Zdl.g4

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ MIN: 'min';
8080
MAX: 'max';
8181
MINLENGTH: 'minlength';
8282
MAXLENGTH: 'maxlength';
83+
EMAIL: 'email';
8384
PATTERN: 'pattern';
8485
OPTION_NAME: '@' [a-zA-Z_][a-zA-Z0-9_]*;
8586

@@ -117,9 +118,9 @@ PATTERN_REGEX: '/' .*? '/' ; // TODO: improve regex
117118
ERRCHAR: . -> channel(HIDDEN);
118119
119120
// Rules
120-
zdl: imports global_javadoc? legacy_constants config? apis? (policies | aggregate | entity | enum | input | output | event | relationships | service | service_legacy)* EOF;
121+
zdl: legacy_constants (import_ | config | apis | policies | aggregate | entity | enum | input | output | event | relationships | service | service_legacy)* EOF;
121122
122-
imports: ('@import' LPAREN import_value RPAREN)*;
123+
import_: '@import' LPAREN import_value RPAREN;
123124
import_value: string;
124125
global_javadoc: JAVADOC;
125126
javadoc: JAVADOC;
@@ -128,7 +129,7 @@ suffix_javadoc: JAVADOC;
128129
legacy_constants: LEGACY_CONSTANT*;
129130
130131
// values
131-
keyword: ID | IMPORT | CONFIG | APIS | PLUGINS | DISABLED | ASYNCAPI | OPENAPI | ENTITY | AGGREGATE | INPUT | OUTPUT | EVENT | RELATIONSHIP | SERVICE | PARAM_ID | FOR | TO | WITH_EVENTS | WITH | REQUIRED | UNIQUE | MIN | MAX | MINLENGTH | MAXLENGTH | PATTERN;
132+
keyword: ID | IMPORT | CONFIG | APIS | PLUGINS | DISABLED | ASYNCAPI | OPENAPI | ENTITY | AGGREGATE | INPUT | OUTPUT | EVENT | RELATIONSHIP | SERVICE | PARAM_ID | FOR | TO | WITH_EVENTS | WITH | REQUIRED | UNIQUE | MIN | MAX | MINLENGTH | MAXLENGTH | EMAIL | PATTERN;
132133
133134
complex_value: value | array | object;
134135
value: simple | object;
@@ -138,7 +139,7 @@ pair: keyword COLON value;
138139
object: LBRACE pair (COMMA pair)* RBRACE;
139140
array: LBRACK? value (COMMA value)* RBRACK?;
140141
141-
config: CONFIG config_body;
142+
config: global_javadoc? CONFIG config_body;
142143
config_body: LBRACE config_option* plugins? RBRACE;
143144
config_option: field_name complex_value;
144145
@@ -249,8 +250,13 @@ aggregate_command_parameter: ID;
249250
service: javadoc? annotations SERVICE service_name FOR LPAREN service_aggregates RPAREN LBRACE service_method* RBRACE;
250251
service_name: ID;
251252
service_aggregates: ID (COMMA ID)*;
252-
service_method: javadoc? annotations service_method_name LPAREN service_method_parameter_id? COMMA? service_method_parameter? RPAREN service_method_return? with_events? suffix_javadoc?;
253+
service_method: javadoc? annotations service_method_name
254+
LPAREN
255+
(service_method_parameter_natural service_method_parameter_id | service_method_parameter_id)?
256+
COMMA? service_method_parameter?
257+
RPAREN service_method_return? with_events? suffix_javadoc?;
253258
service_method_name: ID;
259+
service_method_parameter_natural: '@natural';
254260
service_method_parameter_id: PARAM_ID;
255261
service_method_parameter: ID;
256262
service_method_return: ID | ID ARRAY | ID OPTIONAL;

src/main/java/io/github/zenwave360/zdl/antlr/ZdlListenerImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,8 @@ public void enterLegacy_constants(io.github.zenwave360.zdl.antlr.ZdlParser.Legac
6262
}
6363

6464
@Override
65-
public void enterImports(io.github.zenwave360.zdl.antlr.ZdlParser.ImportsContext ctx) {
66-
for (io.github.zenwave360.zdl.antlr.ZdlParser.Import_valueContext importValue : ctx.import_value()) {
67-
model.appendToList("imports", getValueText(importValue.string()));
68-
}
65+
public void enterImport_(io.github.zenwave360.zdl.antlr.ZdlParser.Import_Context ctx) {
66+
model.appendToList("imports", getValueText(ctx.import_value().string()));
6967
}
7068

7169
@Override
@@ -576,6 +574,7 @@ public void enterService_method(io.github.zenwave360.zdl.antlr.ZdlParser.Service
576574
var serviceName = getText(((io.github.zenwave360.zdl.antlr.ZdlParser.ServiceContext) ctx.getParent()).service_name());
577575
var methodName = getText(ctx.service_method_name());
578576
var location = "services." + serviceName + ".methods." + methodName;
577+
var naturalId = ctx.service_method_parameter_natural() != null? true : null;
579578
var methodParamId = ctx.service_method_parameter_id() != null? "id" : null;
580579
var methodParameter = ctx.service_method_parameter() != null? ctx.service_method_parameter().getText() : null;
581580
var returnType = ctx.service_method_return() != null? ctx.service_method_return().ID().getText() : null;
@@ -587,6 +586,7 @@ public void enterService_method(io.github.zenwave360.zdl.antlr.ZdlParser.Service
587586
var method = new FluentMap()
588587
.with("name", methodName)
589588
.with("serviceName", serviceName)
589+
.with("naturalId", naturalId)
590590
.with("paramId", methodParamId)
591591
.with("parameter", methodParameter)
592592
.with("returnType", returnType)

src/test/java/io/github/zenwave360/zdl/antlr/ZdlListenerTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,17 @@ public class ZdlListenerTest {
2424

2525
@Test
2626
public void parseZdl_SuffixJavadoc() throws Exception {
27-
2827
ZdlModel model = parseZdl("src/test/resources/suffix_javadoc.zdl");
28+
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(model));
29+
}
2930

31+
@Test
32+
public void parseZdl_Composed() throws Exception {
33+
ZdlModel model = parseZdl("src/test/resources/composed.zdl");
3034
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(model));
3135
}
3236

37+
3338
@Test
3439
public void parseZdl_CompleteZdl() throws Exception {
3540

src/test/resources/composed.zdl

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/**
2+
* First Global Javadoc
3+
*/
4+
config {
5+
title "First Title"
6+
}
7+
8+
entity OneEntity {
9+
oneField String
10+
secondField String
11+
}
12+
13+
/**
14+
* Seccond Global Javadoc
15+
*/
16+
config {
17+
title "Second Title"
18+
}
19+
20+
entity OneEntity {
21+
oneField Long
22+
thirdField String
23+
}

0 commit comments

Comments
 (0)