update default generator to skip generation of models that have import mappings defined

This commit is contained in:
russellb337 2015-09-03 08:24:33 -07:00
parent 44b5c22cd4
commit ab6118afe4
3 changed files with 13 additions and 0 deletions

View File

@ -85,6 +85,8 @@ public interface CodegenConfig {
Set<String> languageSpecificPrimitives(); Set<String> languageSpecificPrimitives();
void preprocessSwagger(Swagger swagger);
void processSwagger(Swagger swagger); void processSwagger(Swagger swagger);
String toApiFilename(String name); String toApiFilename(String name);

View File

@ -120,6 +120,10 @@ public class DefaultCodegen {
return objs; 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 // override with any special handling of the entire swagger spec
public void processSwagger(Swagger swagger) { public void processSwagger(Swagger swagger) {
} }

View File

@ -71,6 +71,7 @@ public class DefaultGenerator extends AbstractGenerator implements Generator {
List<File> files = new ArrayList<File>(); List<File> files = new ArrayList<File>();
try { try {
config.processOpts(); config.processOpts();
config.preprocessSwagger(swagger);
config.additionalProperties().put("generatedDate", DateTime.now().toString()); config.additionalProperties().put("generatedDate", DateTime.now().toString());
config.additionalProperties().put("generatorClass", config.getClass().toString()); config.additionalProperties().put("generatorClass", config.getClass().toString());
@ -138,6 +139,12 @@ public class DefaultGenerator extends AbstractGenerator implements Generator {
List<String> sortedModelKeys = sortModelsByInheritance(definitions); List<String> sortedModelKeys = sortModelsByInheritance(definitions);
for (String name : sortedModelKeys) { for (String name : sortedModelKeys) {
//dont generate models that have an import mapping
if(config.importMapping().containsKey(name)) {
continue;
}
Model model = definitions.get(name); Model model = definitions.get(name);
Map<String, Model> modelMap = new HashMap<String, Model>(); Map<String, Model> modelMap = new HashMap<String, Model>();
modelMap.put(name, model); modelMap.put(name, model);