Skip to content
This repository was archived by the owner on Apr 27, 2021. It is now read-only.

Commit b63d9d1

Browse files
committed
Fixed the generator for the current proxmox spec
1 parent 2829f78 commit b63d9d1

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/main/java/org/javawebstack/openapi/client/JavaClientGenerator.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import lombok.Getter;
44
import lombok.Setter;
5+
import org.javawebstack.graph.GraphMapper;
56
import org.javawebstack.openapi.parser.*;
67

78
import java.io.*;
@@ -30,6 +31,7 @@ public class JavaClientGenerator {
3031
add("throws");
3132
add("protected");
3233
add("void");
34+
add("default");
3335
}};
3436

3537
OpenAPI api;
@@ -324,8 +326,7 @@ private void generateSchema(File targetFolder, String name, OpenAPISchema schema
324326
sb.append("package ")
325327
.append(basePackage)
326328
.append(".schemas;\n\n")
327-
.append("import com.google.gson.annotations.SerializedName;\n")
328-
.append("import java.util.UUID;\n\n");
329+
.append("import com.google.gson.annotations.SerializedName;\n\n");
329330
generateSchema(sb, "", name, schema);
330331
writeClassFile(targetFolder, basePackage+".schemas."+name, sb.toString());
331332
}
@@ -341,9 +342,7 @@ private void generateResponse(File targetFolder, String name, OpenAPIResponse re
341342
.append(basePackage)
342343
.append(".schemas.*;\n");
343344
}
344-
sb
345-
.append("import com.google.gson.annotations.SerializedName;\n")
346-
.append("import java.util.UUID;\n\n");
345+
sb.append("import com.google.gson.annotations.SerializedName;\n\n");
347346
OpenAPISchema schema = getResponseSchema(response);
348347
if(schema == null)
349348
return;
@@ -433,7 +432,7 @@ private void generateSchema(StringBuilder sb, String intendation, String name, O
433432
private String getSerializedName(String name, String type){
434433
StringBuilder sb = new StringBuilder();
435434
for(int i = 0; i < name.length(); i++){
436-
if(name.charAt(i) == '_' || name.charAt(i) == '-'){
435+
if(name.charAt(i) == '_' || name.charAt(i) == '-' || name.charAt(i) == '.'){
437436
i++;
438437
if(i < name.length())
439438
sb.append(Character.toUpperCase(name.charAt(i)));
@@ -453,8 +452,9 @@ private String getSerializedName(String name, String type){
453452
case "Float":
454453
case "Double":
455454
case "String":
456-
case "UUID":
455+
case "java.util.UUID":
457456
case "Array":
457+
case "com.google.gson.JsonObject":
458458
break;
459459
default:
460460
type = "Object";
@@ -480,13 +480,17 @@ private String getJavaType(OpenAPISchema schema){
480480
return schema.getFormat() == OpenAPIFormat.FLOAT ? "Float" : "Double";
481481
}
482482
case STRING: {
483-
return schema.getFormat() == OpenAPIFormat.UUID ? "UUID" : "String";
483+
return schema.getFormat() == OpenAPIFormat.UUID ? "java.util.UUID" : "String";
484484
}
485485
case BOOLEAN: {
486486
return "Boolean";
487487
}
488488
case ARRAY: {
489-
return getJavaType(schema.getItems())+"[]";
489+
String elementType = schema.getItems() == null ? "com.google.gson.JsonObject" : getJavaType(schema.getItems());
490+
return elementType+"[]";
491+
}
492+
case OBJECT: {
493+
return "com.google.gson.JsonObject";
490494
}
491495
}
492496
return null;

0 commit comments

Comments
 (0)