Swagr code-gen: Making base class in models generated configurable

This commit is contained in:
Deepak Michael 2011-07-21 10:02:05 +05:30
parent 4e7fdd9e5c
commit 590abe83f7
4 changed files with 11 additions and 1 deletions

View File

@ -14,7 +14,7 @@ import $import$;
* @author ramesh
*
*/
public class $className$ extends WordnikObject {
public class $className$ extends $extends$ {
$fields:{ field |
//$field.description$

View File

@ -252,6 +252,7 @@ public class DriverCodeGenerator {
StringTemplate template = templateGroup.getInstanceOf(MODEL_OBJECT_TEMPLATE);
template.setAttribute("fields", model.getFields());
template.setAttribute("imports", imports);
template.setAttribute("extends", config.getCodeGenOverridingRules().getModelExtendingClass());
template.setAttribute("className", model.getGenratedClassName());
File aFile = new File(config.getModelClassLocation()+model.getGenratedClassName()+config.getClassFileExtension());
writeFile(aFile, template.toString(), "Model class");
@ -291,6 +292,7 @@ public class DriverCodeGenerator {
StringTemplate template = templateGroup.getInstanceOf(MODEL_OBJECT_TEMPLATE);
template.setAttribute("fields", model.getFields());
template.setAttribute("imports", imports);
template.setAttribute("extends", config.getCodeGenOverridingRules().getModelExtendingClass());
template.setAttribute("className", model.getGenratedClassName());
File aFile = new File(config.getModelClassLocation()+model.getGenratedClassName()+config.getClassFileExtension());
writeFile(aFile, template.toString(), "Assemble class");
@ -334,6 +336,7 @@ public class DriverCodeGenerator {
template.setAttribute("fields", model.getFields());
template.setAttribute("imports", imports);
template.setAttribute("extends", config.getCodeGenOverridingRules().getModelExtendingClass());
template.setAttribute("className", model.getGenratedClassName());
File aFile = new File(config.getModelClassLocation()+model.getGenratedClassName()+config.getClassFileExtension());
writeFile(aFile, template.toString(), "Input model class");
@ -414,6 +417,7 @@ public class DriverCodeGenerator {
StringTemplate template = templateGroup.getInstanceOf(MODEL_OBJECT_TEMPLATE);
template.setAttribute("fields", model.getFields());
template.setAttribute("imports", imports);
template.setAttribute("extends", config.getCodeGenOverridingRules().getModelExtendingClass());
template.setAttribute("className", model.getGenratedClassName());
File aFile = new File(config.getModelClassLocation()+model.getGenratedClassName()+config.getClassFileExtension());
writeFile(aFile, template.toString(), "Wrapper class for test data file");

View File

@ -19,6 +19,8 @@ public interface CodeGenOverridingRules {
public String getServiceExtendingClass(String serviceName);
public String getModelExtendingClass();
public boolean isMethodIgnored(String serviceName, String methodName);
public boolean isModelIgnored(String modelName);

View File

@ -33,6 +33,10 @@ public class JavaCodeGenPverridingRules implements CodeGenOverridingRules {
return "WordnikAPI";
}
public String getModelExtendingClass() {
return "WordnikObject";
}
public boolean isMethodIgnored(String serviceName, String methodName){
return (ignoreMethods.contains(serviceName+"."+methodName));
}