diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java index 1b0e349daca..10d7363cc35 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java @@ -85,6 +85,8 @@ public interface CodegenConfig { Set languageSpecificPrimitives(); + void preprocessSwagger(Swagger swagger); + void processSwagger(Swagger swagger); String toApiFilename(String name); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index 8fb6eee2964..f7d0ce3f45f 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -120,6 +120,10 @@ public class DefaultCodegen { return objs; } + //override with any special handling of the entire swagger spec + public void preprocessSwagger(Swagger swagger) { + } + // override with any special handling of the entire swagger spec public void processSwagger(Swagger swagger) { } diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java index e5a49f4eba4..80a25350d8b 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java @@ -71,6 +71,7 @@ public class DefaultGenerator extends AbstractGenerator implements Generator { List files = new ArrayList(); try { config.processOpts(); + config.preprocessSwagger(swagger); config.additionalProperties().put("generatedDate", DateTime.now().toString()); config.additionalProperties().put("generatorClass", config.getClass().toString()); @@ -138,6 +139,12 @@ public class DefaultGenerator extends AbstractGenerator implements Generator { List sortedModelKeys = sortModelsByInheritance(definitions); for (String name : sortedModelKeys) { + + //dont generate models that have an import mapping + if(config.importMapping().containsKey(name)) { + continue; + } + Model model = definitions.get(name); Map modelMap = new HashMap(); modelMap.put(name, model);