mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-06-29 12:10:54 +00:00
fix apex npe, better example value (#266)
This commit is contained in:
parent
1587d202b0
commit
1d7da2ecf4
@ -191,24 +191,144 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
||||
|
||||
@Override
|
||||
public void setParameterExampleValue(CodegenParameter p) {
|
||||
if (Boolean.TRUE.equals(p.isLong)) {
|
||||
p.example = "2147483648L";
|
||||
} else if (Boolean.TRUE.equals(p.isFile)) {
|
||||
p.example = "Blob.valueOf('Sample text file\\nContents')";
|
||||
} else if (Boolean.TRUE.equals(p.isDate)) {
|
||||
p.example = "Date.newInstance(1960, 2, 17)";
|
||||
} else if (Boolean.TRUE.equals(p.isDateTime)) {
|
||||
p.example = "Datetime.newInstanceGmt(2013, 11, 12, 3, 3, 3)";
|
||||
} else if (Boolean.TRUE.equals(p.isListContainer)) {
|
||||
p.example = "new " + p.dataType + "{" + p.items.example + "}";
|
||||
} else if (Boolean.TRUE.equals(p.isMapContainer)) {
|
||||
p.example = "new " + p.dataType + "{" + p.items.example + "}";
|
||||
} else if (Boolean.TRUE.equals(p.isString)) {
|
||||
p.example = "'" + p.example + "'";
|
||||
} else if ("".equals(p.example) || p.example == null) {
|
||||
// Get an example object from the generated model
|
||||
p.example = p.dataType + ".getExample()";
|
||||
String example;
|
||||
|
||||
if (p.defaultValue == null) {
|
||||
example = p.example;
|
||||
} else {
|
||||
example = p.defaultValue;
|
||||
}
|
||||
|
||||
String type = p.baseType;
|
||||
if (type == null) {
|
||||
type = p.dataType;
|
||||
}
|
||||
|
||||
if (Boolean.TRUE.equals(p.isInteger)) {
|
||||
if (example == null) {
|
||||
example = "56";
|
||||
}
|
||||
} else if (Boolean.TRUE.equals(p.isLong)) {
|
||||
if (example == null) {
|
||||
example = "2147483648L";
|
||||
}
|
||||
} else if (Boolean.TRUE.equals(p.isDouble)
|
||||
|| Boolean.TRUE.equals(p.isFloat)
|
||||
|| Boolean.TRUE.equals(p.isNumber)) {
|
||||
if (example == null) {
|
||||
example = "3.4";
|
||||
}
|
||||
} else if (Boolean.TRUE.equals(p.isBoolean)) {
|
||||
if (Boolean.parseBoolean(p.example)) {
|
||||
p.example = "1";
|
||||
} else {
|
||||
p.example = "0";
|
||||
}
|
||||
} else if (Boolean.TRUE.equals(p.isFile) || Boolean.TRUE.equals(p.isBinary)) {
|
||||
example = "Blob.valueOf('Sample text file\\nContents')";
|
||||
} else if (Boolean.TRUE.equals(p.isByteArray)) {
|
||||
if (example == null) {
|
||||
example = "YmFzZSA2NCBkYXRh";
|
||||
}
|
||||
example = "\"" + escapeText(example) + "\"";
|
||||
} else if (Boolean.TRUE.equals(p.isDate)) {
|
||||
if (example == null) {
|
||||
example = "1960, 2, 17";
|
||||
}
|
||||
example = "Date.newInstance(" + escapeText(p.example) + ")";
|
||||
} else if (Boolean.TRUE.equals(p.isDateTime)) {
|
||||
if (example == null) {
|
||||
example = "2013, 11, 12, 3, 3, 3";
|
||||
}
|
||||
example = "Datetime.newInstanceGmt(" + escapeText(p.example) + ")";
|
||||
} else if (Boolean.TRUE.equals(p.isString)) {
|
||||
if (example == null) {
|
||||
example = p.paramName + "_example";
|
||||
}
|
||||
example = "\'" + escapeText(example) + "\'";
|
||||
|
||||
} else if (!languageSpecificPrimitives.contains(type)) {
|
||||
// type is a model class, e.g. User
|
||||
example = type + ".getExample()";
|
||||
}
|
||||
|
||||
// container
|
||||
if (Boolean.TRUE.equals(p.isListContainer)) {
|
||||
example = setPropertyExampleValue(p.items);
|
||||
example = "new " + p.dataType + "{" + example + "}";
|
||||
} else if (Boolean.TRUE.equals(p.isMapContainer)) {
|
||||
example = setPropertyExampleValue(p.items);
|
||||
example = "new " + p.dataType + "{" + example + "}";
|
||||
} else if (example == null) {
|
||||
example = "null";
|
||||
}
|
||||
|
||||
p.example = example;
|
||||
}
|
||||
|
||||
protected String setPropertyExampleValue(CodegenProperty p) {
|
||||
String example;
|
||||
|
||||
if (p == null) {
|
||||
return "null";
|
||||
}
|
||||
|
||||
if (p.defaultValue == null) {
|
||||
example = p.example;
|
||||
} else {
|
||||
example = p.defaultValue;
|
||||
}
|
||||
|
||||
String type = p.baseType;
|
||||
if (type == null) {
|
||||
type = p.datatype;
|
||||
}
|
||||
|
||||
if (Boolean.TRUE.equals(p.isInteger)) {
|
||||
if (example == null) {
|
||||
example = "56";
|
||||
}
|
||||
} else if (Boolean.TRUE.equals(p.isLong)) {
|
||||
if (example == null) {
|
||||
example = "2147483648L";
|
||||
}
|
||||
} else if (Boolean.TRUE.equals(p.isDouble)
|
||||
|| Boolean.TRUE.equals(p.isFloat)
|
||||
|| Boolean.TRUE.equals(p.isNumber)) {
|
||||
if (example == null) {
|
||||
example = "3.4";
|
||||
}
|
||||
} else if (Boolean.TRUE.equals(p.isBoolean)) {
|
||||
if (example == null) {
|
||||
example = "true";
|
||||
}
|
||||
} else if (Boolean.TRUE.equals(p.isFile) || Boolean.TRUE.equals(p.isBinary)) {
|
||||
if (example == null) {
|
||||
example = "Blob.valueOf('Sample text file\\nContents')";
|
||||
}
|
||||
example = escapeText(example);
|
||||
} else if (Boolean.TRUE.equals(p.isDate)) {
|
||||
if (example == null) {
|
||||
example = "1960, 2, 17";
|
||||
}
|
||||
example = "Date.newInstance(" + escapeText(p.example) + ")";
|
||||
} else if (Boolean.TRUE.equals(p.isDateTime)) {
|
||||
if (example == null) {
|
||||
example = "2013, 11, 12, 3, 3, 3";
|
||||
}
|
||||
example = "Datetime.newInstanceGmt(" + escapeText(p.example) + ")";
|
||||
} else if (Boolean.TRUE.equals(p.isString)) {
|
||||
if (example == null) {
|
||||
example = p.name + "_example";
|
||||
}
|
||||
example = "\'" + escapeText(example) + "\'";
|
||||
|
||||
} else if (!languageSpecificPrimitives.contains(type)) {
|
||||
// type is a model class, e.g. User
|
||||
example = type + ".getExample()";
|
||||
}
|
||||
|
||||
return example;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -242,6 +362,7 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
||||
return cm;
|
||||
}
|
||||
|
||||
/* the following workaround is no longer needed
|
||||
@Override
|
||||
public void postProcessParameter(CodegenParameter parameter) {
|
||||
if (parameter.isBodyParam && parameter.isListContainer) {
|
||||
@ -250,6 +371,7 @@ public class ApexClientCodegen extends AbstractJavaCodegen {
|
||||
setParameterExampleValue(parameter);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
@Override
|
||||
public void preprocessOpenAPI(OpenAPI openAPI) {
|
||||
|
@ -77,7 +77,7 @@ petstore_auth.setAccessToken('YOUR ACCESS TOKEN');
|
||||
|
||||
Map<String, Object> params = new Map<String, Object>{
|
||||
'petId' => 2147483648L,
|
||||
'apiKey' => 'null'
|
||||
'apiKey' => 'apiKey_example'
|
||||
};
|
||||
|
||||
try {
|
||||
@ -175,7 +175,7 @@ Swagger.OAuth petstore_auth = (Swagger.OAuth) client.getAuthentication('petstore
|
||||
petstore_auth.setAccessToken('YOUR ACCESS TOKEN');
|
||||
|
||||
Map<String, Object> params = new Map<String, Object>{
|
||||
'tags' => new List<String>{'aeiou'}
|
||||
'tags' => new List<String>{'\'aeiou\''}
|
||||
};
|
||||
|
||||
try {
|
||||
@ -318,8 +318,8 @@ petstore_auth.setAccessToken('YOUR ACCESS TOKEN');
|
||||
|
||||
Map<String, Object> params = new Map<String, Object>{
|
||||
'petId' => 2147483648L,
|
||||
'name' => 'null',
|
||||
'status' => 'null'
|
||||
'name' => 'name_example',
|
||||
'status' => 'status_example'
|
||||
};
|
||||
|
||||
try {
|
||||
@ -368,7 +368,7 @@ petstore_auth.setAccessToken('YOUR ACCESS TOKEN');
|
||||
|
||||
Map<String, Object> params = new Map<String, Object>{
|
||||
'petId' => 2147483648L,
|
||||
'additionalMetadata' => 'null',
|
||||
'additionalMetadata' => 'additionalMetadata_example',
|
||||
'file' => Blob.valueOf('Sample text file\nContents')
|
||||
};
|
||||
|
||||
|
@ -23,7 +23,7 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or
|
||||
SwagStoreApi api = new SwagStoreApi();
|
||||
|
||||
Map<String, Object> params = new Map<String, Object>{
|
||||
'orderId' => 'null'
|
||||
'orderId' => 'orderId_example'
|
||||
};
|
||||
|
||||
try {
|
||||
|
@ -152,7 +152,7 @@ This can only be done by the logged in user.
|
||||
SwagUserApi api = new SwagUserApi();
|
||||
|
||||
Map<String, Object> params = new Map<String, Object>{
|
||||
'username' => 'null'
|
||||
'username' => 'username_example'
|
||||
};
|
||||
|
||||
try {
|
||||
@ -193,7 +193,7 @@ Get user by user name
|
||||
SwagUserApi api = new SwagUserApi();
|
||||
|
||||
Map<String, Object> params = new Map<String, Object>{
|
||||
'username' => 'null'
|
||||
'username' => 'username_example'
|
||||
};
|
||||
|
||||
try {
|
||||
@ -235,8 +235,8 @@ Logs user into the system
|
||||
SwagUserApi api = new SwagUserApi();
|
||||
|
||||
Map<String, Object> params = new Map<String, Object>{
|
||||
'username' => 'null',
|
||||
'password' => 'null'
|
||||
'username' => 'username_example',
|
||||
'password' => 'password_example'
|
||||
};
|
||||
|
||||
try {
|
||||
@ -315,7 +315,7 @@ This can only be done by the logged in user.
|
||||
SwagUserApi api = new SwagUserApi();
|
||||
|
||||
Map<String, Object> params = new Map<String, Object>{
|
||||
'username' => 'null',
|
||||
'username' => 'username_example',
|
||||
'swagUser' => SwagUser.getExample()
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user