updated examples

This commit is contained in:
Tony Tam 2014-10-22 13:54:28 -07:00
parent e2ae99acac
commit 36aad8bc0a
3 changed files with 35 additions and 8 deletions

View File

@ -21,6 +21,7 @@ public class CodegenOperation {
public List<CodegenResponse> responses = new ArrayList<CodegenResponse>(); public List<CodegenResponse> responses = new ArrayList<CodegenResponse>();
public Set<String> imports = new HashSet<String>(); public Set<String> imports = new HashSet<String>();
public List<Map<String, String>> examples;
// legacy support // legacy support
public String nickname; public String nickname;

View File

@ -1,8 +1,10 @@
package com.wordnik.swagger.codegen; package com.wordnik.swagger.codegen;
import java.util.*;
public class CodegenResponse { public class CodegenResponse {
public String code, message; public String code, message;
public Boolean hasMore; public Boolean hasMore;
public List<Map<String, String>> examples;
Object schema; Object schema;
} }

View File

@ -115,7 +115,10 @@ public class DefaultCodegen {
} }
public String toVarName(String name) { public String toVarName(String name) {
return name; if(reservedWords.contains(name))
return escapeReservedWord(name);
else
return name;
} }
public String toParamName(String name) { public String toParamName(String name) {
@ -314,7 +317,10 @@ public class DefaultCodegen {
public CodegenModel fromModel(String name, Model model) { public CodegenModel fromModel(String name, Model model) {
CodegenModel m = new CodegenModel(); CodegenModel m = new CodegenModel();
m.name = name; if(reservedWords.contains(name))
m.name = escapeReservedWord(name);
else
m.name = name;
m.description = model.getDescription(); m.description = model.getDescription();
m.classname = toModelName(name); m.classname = toModelName(name);
m.classVarName = toVarName(name); m.classVarName = toVarName(name);
@ -498,12 +504,13 @@ public class DefaultCodegen {
String operationId = operation.getOperationId(); String operationId = operation.getOperationId();
if(operationId == null) { if(operationId == null) {
path = path.replaceAll("\\{", ""); String tmpPath = path;
path = path.replaceAll("\\}", ""); tmpPath = tmpPath.replaceAll("\\{", "");
String[] parts = (path + "/" + httpMethod).split("/"); tmpPath = tmpPath.replaceAll("\\}", "");
String[] parts = (tmpPath + "/" + httpMethod).split("/");
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
if("/".equals(path)) { if("/".equals(tmpPath)) {
// must be root path // must be root tmpPath
builder.append("root"); builder.append("root");
} }
for(int i = 0; i < parts.length; i++) { for(int i = 0; i < parts.length; i++) {
@ -575,6 +582,7 @@ public class DefaultCodegen {
r.code = responseCode; r.code = responseCode;
r.message = response.getDescription(); r.message = response.getDescription();
r.schema = response.getSchema(); r.schema = response.getSchema();
r.examples = toExamples(response.getExamples());
op.responses.add(r); op.responses.add(r);
} }
for(int i = 0; i < op.responses.size() - 1; i++) { for(int i = 0; i < op.responses.size() - 1; i++) {
@ -600,7 +608,7 @@ public class DefaultCodegen {
else else
op.returnBaseType = cm.baseType; op.returnBaseType = cm.baseType;
} }
op.examples = toExamples(methodResponse.getExamples());
op.defaultResponse = toDefaultValue(responseProperty); op.defaultResponse = toDefaultValue(responseProperty);
op.returnType = cm.datatype; op.returnType = cm.datatype;
if(cm.isContainer != null) { if(cm.isContainer != null) {
@ -750,6 +758,22 @@ public class DefaultCodegen {
return op; return op;
} }
protected List<Map<String, String>> toExamples(Map<String, String> examples) {
if(examples == null)
return null;
List<Map<String, String>> output = new ArrayList<Map<String, String>>();
for(String key: examples.keySet()) {
String value = examples.get(key);
Map<String, String> kv = new HashMap<String, String>();
kv.put("contentType", key);
kv.put("example", value);
output.add(kv);
}
return output;
}
private List<CodegenParameter> addHasMore(List<CodegenParameter> objs) { private List<CodegenParameter> addHasMore(List<CodegenParameter> objs) {
if(objs != null) { if(objs != null) {
for(int i = 0; i < objs.size(); i++) { for(int i = 0; i < objs.size(); i++) {