Skip to content

Commit 4883de5

Browse files
enum zero index is UNSPECIFIED suffix (#20473)
Co-authored-by: xil <xil@uber.com>
1 parent 2722fdc commit 4883de5

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

docs/generators/protobuf-schema.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ title: Documentation for the protobuf-schema Generator
1616
## CONFIG OPTIONS
1717
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
1818

19-
| Option | Description | Values | Default |
20-
| ------ | ----------- | ------ | ------- |
21-
|numberedFieldNumberList|Field numbers in order.| |false|
22-
|startEnumsWithUnknown|Introduces &quot;UNKNOWN&quot; as the first element of enumerations.| |false|
19+
| Option | Description | Values | Default |
20+
|---------------------------|--------------------------------------------------------------------------| ------ | ------- |
21+
| numberedFieldNumberList | Field numbers in order. | |false|
22+
| startEnumsWithUnspecified | Introduces &quot;UNSPECIFIED&quot; as the first element of enumerations. | |false|
2323

2424
## IMPORT MAPPING
2525

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ProtobufSchemaCodegen.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,15 @@ public class ProtobufSchemaCodegen extends DefaultCodegen implements CodegenConf
5252

5353
public static final String NUMBERED_FIELD_NUMBER_LIST = "numberedFieldNumberList";
5454

55-
public static final String START_ENUMS_WITH_UNKNOWN = "startEnumsWithUnknown";
55+
public static final String START_ENUMS_WITH_UNSPECIFIED = "startEnumsWithUnspecified";
5656

5757
private final Logger LOGGER = LoggerFactory.getLogger(ProtobufSchemaCodegen.class);
5858

5959
@Setter protected String packageName = "openapitools";
6060

6161
private boolean numberedFieldNumberList = false;
6262

63-
private boolean startEnumsWithUnknown = false;
63+
private boolean startEnumsWithUnspecified = false;
6464

6565
@Override
6666
public CodegenType getTag() {
@@ -164,7 +164,7 @@ public ProtobufSchemaCodegen() {
164164
cliOptions.clear();
165165

166166
addSwitch(NUMBERED_FIELD_NUMBER_LIST, "Field numbers in order.", numberedFieldNumberList);
167-
addSwitch(START_ENUMS_WITH_UNKNOWN, "Introduces \"UNKNOWN\" as the first element of enumerations.", startEnumsWithUnknown);
167+
addSwitch(START_ENUMS_WITH_UNSPECIFIED, "Introduces \"UNSPECIFIED\" as the first element of enumerations.", startEnumsWithUnspecified);
168168
}
169169

170170
@Override
@@ -195,8 +195,8 @@ public void processOpts() {
195195
this.numberedFieldNumberList = convertPropertyToBooleanAndWriteBack(NUMBERED_FIELD_NUMBER_LIST);
196196
}
197197

198-
if (additionalProperties.containsKey(this.START_ENUMS_WITH_UNKNOWN)) {
199-
this.startEnumsWithUnknown = convertPropertyToBooleanAndWriteBack(START_ENUMS_WITH_UNKNOWN);
198+
if (additionalProperties.containsKey(this.START_ENUMS_WITH_UNSPECIFIED)) {
199+
this.startEnumsWithUnspecified = convertPropertyToBooleanAndWriteBack(START_ENUMS_WITH_UNSPECIFIED);
200200
}
201201

202202
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
@@ -233,6 +233,7 @@ public void addEnumValuesPrefix(Map<String, Object> allowableValues, String pref
233233
String name = (String) value.get("name");
234234
value.put("name", prefix + "_" + name);
235235
value.put("value", "\"" + prefix + "_" + name + "\"");
236+
236237
}
237238
}
238239

@@ -249,22 +250,21 @@ public void addEnumValuesPrefix(Map<String, Object> allowableValues, String pref
249250
*
250251
* @param allowableValues allowable values
251252
*/
252-
public void addUnknownToAllowableValues(Map<String, Object> allowableValues) {
253-
if (startEnumsWithUnknown) {
253+
public void addUnspecifiedToAllowableValues(Map<String, Object> allowableValues) {
254+
if (startEnumsWithUnspecified) {
254255
if (allowableValues.containsKey("enumVars")) {
255256
List<Map<String, Object>> enumVars = (List<Map<String, Object>>) allowableValues.get("enumVars");
256257

257-
HashMap<String, Object> unknown = new HashMap<String, Object>();
258-
unknown.put("name", "UNKNOWN");
259-
unknown.put("isString", "false");
260-
unknown.put("value", "\"UNKNOWN\"");
261-
262-
enumVars.add(0, unknown);
258+
HashMap<String, Object> unspecified = new HashMap<String, Object>();
259+
unspecified.put("name", "UNSPECIFIED");
260+
unspecified.put("isString", "false");
261+
unspecified.put("value", "\"UNSPECIFIED\"");
262+
enumVars.add(0, unspecified);
263263
}
264264

265265
if (allowableValues.containsKey("values")) {
266266
List<String> values = (List<String>) allowableValues.get("values");
267-
values.add(0, "UNKNOWN");
267+
values.add(0, "UNSPECIFIED");
268268
}
269269
}
270270
}
@@ -291,7 +291,7 @@ public ModelsMap postProcessModels(ModelsMap objs) {
291291

292292
if (cm.isEnum) {
293293
Map<String, Object> allowableValues = cm.getAllowableValues();
294-
addUnknownToAllowableValues(allowableValues);
294+
addUnspecifiedToAllowableValues(allowableValues);
295295
addEnumValuesPrefix(allowableValues, cm.getClassname());
296296
if (allowableValues.containsKey("enumVars")) {
297297
List<Map<String, Object>> enumVars = (List<Map<String, Object>>) allowableValues.get("enumVars");
@@ -319,7 +319,7 @@ public ModelsMap postProcessModels(ModelsMap objs) {
319319
}
320320

321321
if (var.isEnum) {
322-
addUnknownToAllowableValues(var.allowableValues);
322+
addUnspecifiedToAllowableValues(var.allowableValues);
323323
addEnumValuesPrefix(var.allowableValues, var.getEnumName());
324324

325325
if (var.allowableValues.containsKey("enumVars")) {

0 commit comments

Comments
 (0)