|
18 | 18 | public class SwaggerResource {
|
19 | 19 | private static Map<String, Generated> fileMap = new HashMap<String, Generated>();
|
20 | 20 |
|
| 21 | + static List<String> clients = new ArrayList<String>(); |
| 22 | + static List<String> servers = new ArrayList<String>(); |
| 23 | + static { |
| 24 | + List<CodegenConfig> extensions = Codegen.getExtensions(); |
| 25 | + for(CodegenConfig config : extensions) { |
| 26 | + if(config.getTag().equals(CodegenType.CLIENT) || config.getTag().equals(CodegenType.DOCUMENTATION)) { |
| 27 | + clients.add(config.getName()); |
| 28 | + } |
| 29 | + else if(config.getTag().equals(CodegenType.SERVER)) { |
| 30 | + servers.add(config.getName()); |
| 31 | + } |
| 32 | + } |
| 33 | + } |
| 34 | + |
21 | 35 | @GET
|
22 | 36 | @Path("/download/{fileId}")
|
23 | 37 | @Produces({"application/zip", "application/json"})
|
@@ -70,46 +84,22 @@ public Response generateClient(
|
70 | 84 | response = String.class,
|
71 | 85 | responseContainer = "List")
|
72 | 86 | public Response clientOptions() {
|
73 |
| - String[] languages = {"android", "java", "php", "objc", "docs"}; |
| 87 | + String[] languages = new String[clients.size()]; |
| 88 | + languages = clients.toArray(languages); |
74 | 89 | return Response.ok().entity(languages).build();
|
75 | 90 | }
|
76 | 91 |
|
77 |
| - @GET |
78 |
| - @Path("/clients/{language}") |
79 |
| - @ApiOperation(value = "Gets options for a client generation", |
80 |
| - notes = "Values which are not required will use the provided default values", |
81 |
| - response = InputOption.class, |
82 |
| - responseContainer = "List") |
83 |
| - @ApiResponses(value = { |
84 |
| - @com.wordnik.swagger.annotations.ApiResponse(code = 400, message = "Invalid model supplied", response = ValidationMessage.class), |
85 |
| - }) |
86 |
| - |
87 |
| - public Response clientLibraryOptions( |
88 |
| - @ApiParam(value = "The target language for the client library", allowableValues = "android,java,php,objc,docs", required = true) @PathParam("language") String language) { |
89 |
| - return Response.ok().entity(Generator.clientOptions(language)).build(); |
90 |
| - } |
91 |
| - |
92 | 92 | @GET
|
93 | 93 | @Path("/servers")
|
94 | 94 | @ApiOperation(value = "Gets languages supported by the server generator",
|
95 | 95 | response = String.class,
|
96 | 96 | responseContainer = "List")
|
97 | 97 | public Response serverOptions() {
|
98 |
| - String[] languages = {"jaxrs","nodejs"}; |
| 98 | + String[] languages = new String[servers.size()]; |
| 99 | + languages = servers.toArray(languages); |
99 | 100 | return Response.ok().entity(languages).build();
|
100 | 101 | }
|
101 | 102 |
|
102 |
| - @GET |
103 |
| - @Path("/servers/{language}") |
104 |
| - @ApiOperation(value = "Gets options for a server generation", |
105 |
| - notes = "Values which are not required will use the provided default values", |
106 |
| - response = InputOption.class, |
107 |
| - responseContainer = "List") |
108 |
| - public Response serverFrameworkOptions( |
109 |
| - @ApiParam(value = "The target framework for the client library", allowableValues = "jaxrs,nodejs", required = true) @PathParam("language") String framework) { |
110 |
| - return Response.ok().entity(Generator.serverOptions(framework)).build(); |
111 |
| - } |
112 |
| - |
113 | 103 | @POST
|
114 | 104 | @Path("/servers/{framework}")
|
115 | 105 | @ApiOperation(value = "Generates a server library for the supplied server framework",
|
|
0 commit comments