22
33import lombok .Getter ;
44import lombok .Setter ;
5+ import org .javawebstack .graph .GraphMapper ;
56import org .javawebstack .openapi .parser .*;
67
78import 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