diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PureCloudJavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PureCloudJavaClientCodegen.java index a659b381ab1a..2e119d570d5d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PureCloudJavaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PureCloudJavaClientCodegen.java @@ -203,6 +203,33 @@ public Map postProcessModelsEnum(Map objs) { } } } + } else if (cp.isArray && cp.items != null && cp.items.isEnum && cp.items.allowableValues != null) { + Object valuesObject = cp.items.allowableValues.get("values"); + if (valuesObject != null) { + ArrayList valuesArray = (ArrayList) valuesObject; + if (valuesArray.get(0) instanceof Integer) { + // Integer enum type + valuesArray.add(0, -1); + Object enumVarsObject = cp.items.allowableValues.get("enumVars"); + ArrayList enumVarsArray = (ArrayList) enumVarsObject; + HashMap newItem = new HashMap<>(); + newItem.put("name", "OUTDATEDSDKVERSION"); + newItem.put("value", toEnumValue("-1", "Integer")); + enumVarsArray.add(0, newItem); + } else { + // String enum type + if (!valuesArray.get(0).equals("OutdatedSdkVersion")) { + valuesArray.add(0, "OutdatedSdkVersion"); + Object enumVarsObject = cp.items.allowableValues.get("enumVars"); + ArrayList enumVarsArray = (ArrayList) enumVarsObject; + HashMap newItem = new HashMap<>(); + newItem.put("name", "OUTDATEDSDKVERSION"); + newItem.put("isString", "true"); + newItem.put("value", toEnumValue("OutdatedSdkVersion", "String")); + enumVarsArray.add(0, newItem); + } + } + } } vars.add(cp); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/templating/mustache/PrefixNumberWithValue.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/templating/mustache/PrefixNumberWithValue.java index 03f1d5bf7a61..a08706a766ee 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/templating/mustache/PrefixNumberWithValue.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/templating/mustache/PrefixNumberWithValue.java @@ -35,6 +35,11 @@ public void execute(Template.Fragment fragment, Writer writer) throws IOExceptio line = value + line; } } catch (Exception e) { + // Check if string starts with a digit + if (Character.isDigit(line.charAt(0))) { + // Add prefix + line = value + line; + } // NOOP } }