mirror of
https://github.com/valitydev/openapi-generator.git
synced 2024-11-06 02:25:20 +00:00
Update DefaultCodeGen to allow additional primitive types (#2799)
* Update DefaultCodeGen to allow additional primitive types If a string field is specified with a format which is also defined using --typeMappings, it will be treated as a primitive type * Fixed typo in android-petstore-httpclient.bat
This commit is contained in:
parent
1fc7740f2e
commit
b44f6c302a
@ -5,6 +5,6 @@ If Not Exist %executable% (
|
||||
)
|
||||
|
||||
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
|
||||
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g android -o samples\client\petstore\android\httpclient-Dlibrary=httpclient
|
||||
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g android -o samples\client\petstore\android\httpclient -Dlibrary=httpclient
|
||||
|
||||
java %JAVA_OPTS% -jar %executable% %ags%
|
||||
|
@ -1475,7 +1475,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
* @param schema
|
||||
* @return type
|
||||
*/
|
||||
private static String getPrimitiveType(Schema schema) {
|
||||
private String getPrimitiveType(Schema schema) {
|
||||
if (schema == null) {
|
||||
throw new RuntimeException("schema cannot be null in getPrimitiveType");
|
||||
} else if (ModelUtils.isStringSchema(schema) && "number".equals(schema.getFormat())) {
|
||||
@ -1519,6 +1519,13 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
} else if (ModelUtils.isURISchema(schema)) {
|
||||
return "URI";
|
||||
} else if (ModelUtils.isStringSchema(schema)) {
|
||||
if(typeMapping.containsKey(schema.getFormat())) {
|
||||
// If the format matches a typeMapping (supplied with the --typeMappings flag)
|
||||
// then treat the format as a primitive type.
|
||||
// This allows the typeMapping flag to add a new custom type which can then
|
||||
// be used in the format field.
|
||||
return schema.getFormat();
|
||||
}
|
||||
return "string";
|
||||
} else if (ModelUtils.isFreeFormObject(schema)) {
|
||||
return "object";
|
||||
@ -3668,7 +3675,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
* @param schemas The complete set of model definitions (schemas).
|
||||
* @return A mapping from model name to type alias
|
||||
*/
|
||||
static Map<String, String> getAllAliases(Map<String, Schema> schemas) {
|
||||
Map<String, String> getAllAliases(Map<String, Schema> schemas) {
|
||||
if (schemas == null || schemas.isEmpty()) {
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
@ -189,6 +189,7 @@ public class DefaultCodegenTest {
|
||||
|
||||
@Test
|
||||
public void testArraySchemaIsNotIncluedInAliases() throws Exception {
|
||||
final DefaultCodegen codegen = new DefaultCodegen();
|
||||
Map<String, Schema> schemas = new HashMap<String, Schema>() {
|
||||
{
|
||||
put("ArraySchemaTest", new ArraySchema());
|
||||
@ -196,7 +197,7 @@ public class DefaultCodegenTest {
|
||||
|
||||
};
|
||||
|
||||
Map<String, String> aliases = DefaultCodegen.getAllAliases(schemas);
|
||||
Map<String, String> aliases = codegen.getAllAliases(schemas);
|
||||
|
||||
Assert.assertEquals(aliases.size(), 0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user