Skip to content

Commit b8887d5

Browse files
committed
Change ParameterDefinition to be a Java record
Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
1 parent 8cfce9e commit b8887d5

3 files changed

Lines changed: 52 additions & 90 deletions

File tree

impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/OpenAPIExecutor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ private void fillHttpBuilder(WorkflowApplication application, OperationDefinitio
9696

9797
Map<String, Object> bodyParameters = new HashMap<>(parameters);
9898
for (ParameterDefinition parameter : operation.getParameters()) {
99-
switch (parameter.getIn()) {
99+
switch (parameter.in()) {
100100
case "header":
101101
param(parameter, bodyParameters, headersMap, missingParams);
102102
break;
@@ -130,12 +130,12 @@ private void param(
130130
Map<String, Object> origMap,
131131
Map<String, Object> collectorMap,
132132
Set<String> missingParams) {
133-
String name = parameter.getName();
133+
String name = parameter.name();
134134
if (origMap.containsKey(name)) {
135-
collectorMap.put(parameter.getName(), origMap.remove(name));
136-
} else if (parameter.getRequired()) {
135+
collectorMap.put(parameter.name(), origMap.remove(name));
136+
} else if (parameter.required()) {
137137

138-
UnifiedOpenAPI.Schema schema = parameter.getSchema();
138+
UnifiedOpenAPI.Schema schema = parameter.schema();
139139
Object defaultValue = schema != null ? schema._default() : null;
140140
if (defaultValue != null) {
141141
collectorMap.put(name, defaultValue);

impl/openapi/src/main/java/io/serverlessworkflow/impl/executors/openapi/ParameterDefinition.java

Lines changed: 2 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -15,43 +15,5 @@
1515
*/
1616
package io.serverlessworkflow.impl.executors.openapi;
1717

18-
import com.fasterxml.jackson.databind.JsonNode;
19-
20-
class ParameterDefinition {
21-
22-
private final String name;
23-
private final String in;
24-
private final boolean required;
25-
private final UnifiedOpenAPI.Schema schema;
26-
27-
ParameterDefinition(JsonNode parameter) {
28-
this(
29-
parameter.get("name").asText(),
30-
parameter.get("in").asText(),
31-
parameter.has("required") && parameter.get("required").asBoolean(),
32-
null);
33-
}
34-
35-
ParameterDefinition(String name, String in, boolean required, UnifiedOpenAPI.Schema schema) {
36-
this.name = name;
37-
this.in = in;
38-
this.required = required;
39-
this.schema = schema;
40-
}
41-
42-
public String getIn() {
43-
return in;
44-
}
45-
46-
public String getName() {
47-
return name;
48-
}
49-
50-
public boolean getRequired() {
51-
return required;
52-
}
53-
54-
public UnifiedOpenAPI.Schema getSchema() {
55-
return schema;
56-
}
57-
}
18+
record ParameterDefinition(
19+
String name, String in, boolean required, UnifiedOpenAPI.Schema schema) {}

impl/openapi/src/test/java/io/serverlessworkflow/impl/executors/openapi/OpenAPIProcessorTest.java

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ public void testGetPetById(UnifiedOpenAPI json) {
4848
assertTrue(checkServer(definition.getServers(), "https://petstore.swagger.io/v2"));
4949
assertEquals(1, definition.getParameters().size());
5050
ParameterDefinition param = definition.getParameters().get(0);
51-
assertEquals("path", param.getIn());
52-
assertEquals("petId", param.getName());
53-
assertTrue(param.getRequired());
51+
assertEquals("path", param.in());
52+
assertEquals("petId", param.name());
53+
assertTrue(param.required());
5454
}
5555

5656
@Test
@@ -74,29 +74,29 @@ public void testAddPetById(UnifiedOpenAPI json) {
7474
assertEquals(6, definition.getParameters().size());
7575

7676
ParameterDefinition param = definition.getParameters().get(0);
77-
assertEquals("body", param.getIn());
78-
assertEquals("id", param.getName());
79-
assertFalse(param.getRequired());
77+
assertEquals("body", param.in());
78+
assertEquals("id", param.name());
79+
assertFalse(param.required());
8080
param = definition.getParameters().get(1);
81-
assertEquals("body", param.getIn());
82-
assertEquals("category", param.getName());
83-
assertFalse(param.getRequired());
81+
assertEquals("body", param.in());
82+
assertEquals("category", param.name());
83+
assertFalse(param.required());
8484
param = definition.getParameters().get(2);
85-
assertEquals("body", param.getIn());
86-
assertEquals("name", param.getName());
87-
assertTrue(param.getRequired());
85+
assertEquals("body", param.in());
86+
assertEquals("name", param.name());
87+
assertTrue(param.required());
8888
param = definition.getParameters().get(3);
89-
assertEquals("body", param.getIn());
90-
assertEquals("photoUrls", param.getName());
91-
assertTrue(param.getRequired());
89+
assertEquals("body", param.in());
90+
assertEquals("photoUrls", param.name());
91+
assertTrue(param.required());
9292
param = definition.getParameters().get(4);
93-
assertEquals("body", param.getIn());
94-
assertEquals("tags", param.getName());
95-
assertFalse(param.getRequired());
93+
assertEquals("body", param.in());
94+
assertEquals("tags", param.name());
95+
assertFalse(param.required());
9696
param = definition.getParameters().get(5);
97-
assertEquals("body", param.getIn());
98-
assertEquals("status", param.getName());
99-
assertFalse(param.getRequired());
97+
assertEquals("body", param.in());
98+
assertEquals("status", param.name());
99+
assertFalse(param.required());
100100
}
101101

102102
@Test
@@ -140,30 +140,30 @@ public void testPlaceOrder(UnifiedOpenAPI json) {
140140
assertTrue(checkServer(definition.getServers(), "https://petstore.swagger.io/v2"));
141141
assertEquals(6, definition.getParameters().size());
142142
ParameterDefinition param = definition.getParameters().get(0);
143-
assertEquals("body", param.getIn());
144-
assertEquals("id", param.getName());
145-
assertFalse(param.getRequired());
143+
assertEquals("body", param.in());
144+
assertEquals("id", param.name());
145+
assertFalse(param.required());
146146

147147
param = definition.getParameters().get(1);
148-
assertEquals("body", param.getIn());
149-
assertEquals("petId", param.getName());
150-
assertFalse(param.getRequired());
148+
assertEquals("body", param.in());
149+
assertEquals("petId", param.name());
150+
assertFalse(param.required());
151151
param = definition.getParameters().get(2);
152-
assertEquals("body", param.getIn());
153-
assertEquals("quantity", param.getName());
154-
assertFalse(param.getRequired());
152+
assertEquals("body", param.in());
153+
assertEquals("quantity", param.name());
154+
assertFalse(param.required());
155155
param = definition.getParameters().get(3);
156-
assertEquals("body", param.getIn());
157-
assertEquals("shipDate", param.getName());
158-
assertFalse(param.getRequired());
156+
assertEquals("body", param.in());
157+
assertEquals("shipDate", param.name());
158+
assertFalse(param.required());
159159
param = definition.getParameters().get(4);
160-
assertEquals("body", param.getIn());
161-
assertEquals("status", param.getName());
162-
assertFalse(param.getRequired());
160+
assertEquals("body", param.in());
161+
assertEquals("status", param.name());
162+
assertFalse(param.required());
163163
param = definition.getParameters().get(5);
164-
assertEquals("body", param.getIn());
165-
assertEquals("complete", param.getName());
166-
assertFalse(param.getRequired());
164+
assertEquals("body", param.in());
165+
assertEquals("complete", param.name());
166+
assertFalse(param.required());
167167
}
168168

169169
@Test
@@ -186,13 +186,13 @@ public void testLoginUser(UnifiedOpenAPI json) {
186186
assertTrue(checkServer(definition.getServers(), "https://petstore.swagger.io/v2"));
187187
assertEquals(2, definition.getParameters().size());
188188
ParameterDefinition param1 = definition.getParameters().get(0);
189-
assertEquals("query", param1.getIn());
190-
assertEquals("username", param1.getName());
191-
assertTrue(param1.getRequired());
189+
assertEquals("query", param1.in());
190+
assertEquals("username", param1.name());
191+
assertTrue(param1.required());
192192
ParameterDefinition param2 = definition.getParameters().get(1);
193-
assertEquals("query", param2.getIn());
194-
assertEquals("password", param2.getName());
195-
assertTrue(param2.getRequired());
193+
assertEquals("query", param2.in());
194+
assertEquals("password", param2.name());
195+
assertTrue(param2.required());
196196
}
197197

198198
private boolean checkServer(List<String> servers, String expected) {

0 commit comments

Comments
 (0)