fillRwadefEndpoints(swagger, definition); fillRwadefGeneralInformation(swagger, definition, produces, consumes); fillSections(swagger, contract); fillDeclaredParameters(swagger, definition, parameters); fillRepresentations(swagger, contract); fillResources(swagger, contract, produces, consumes, parameters);
private static void fillDeclaredParameters(Swagger swagger, Definition definition, Map<String, Object> parameters) { if (swagger.getParameters() == null) { return; } for (String key : swagger.getParameters().keySet()) { Parameter swaggerParameter = swagger.getParameters().get(key); if (swaggerParameter instanceof QueryParameter) { org.restlet.ext.platform.internal.model.QueryParameter queryParameter = new org.restlet.ext.platform.internal.model.QueryParameter(); fillRwadefQueryParameter(queryParameter, (QueryParameter) swaggerParameter); parameters.put(key, queryParameter); } else if (swaggerParameter instanceof PathParameter) { PathVariable pathVariable = new PathVariable(); fillRwadefPathVariable(pathVariable, (PathParameter) swaggerParameter); parameters.put(key, pathVariable); } else if (swaggerParameter instanceof HeaderParameter) { Header header = new Header(); fillRwadefHeader(header, (HeaderParameter) swaggerParameter); parameters.put(key, header); } else if (swaggerParameter instanceof BodyParameter) { PayLoad payload = new PayLoad(); fillPayload((BodyParameter) swaggerParameter, payload); parameters.put(key, payload); } else { LOGGER.warning("The type of the parameter " + key + " was not recognized: " + swaggerParameter.getClass().getName()); } } }
private static void fillRwadefOperations(Path path, Resource resource, Contract contract, List<String> produces, List<String> consumes, Map<String, Object> parameters) { fillRwadefOperation(path.getGet(), resource, contract, Method.GET.getName(), produces, consumes, parameters); fillRwadefOperation(path.getPost(), resource, contract, Method.POST.getName(), produces, consumes, parameters); fillRwadefOperation(path.getPut(), resource, contract, Method.PUT.getName(), produces, consumes, parameters); fillRwadefOperation(path.getDelete(), resource, contract, Method.DELETE.getName(), produces, consumes, parameters); fillRwadefOperation(path.getOptions(), resource, contract, Method.OPTIONS.getName(), produces, consumes, parameters); fillRwadefOperation(path.getPatch(), resource, contract, Method.PATCH.getName(), produces, consumes, parameters); }
private static void fillRwadefOperation(Operation swaggerOperation, Resource resource, Contract contract, String methodName, List<String> produces, List<String> consumes, Map<String, Object> parameters) { if (swaggerOperation == null) { return; } org.restlet.ext.platform.internal.model.Operation operation = new org.restlet.ext.platform.internal.model.Operation(); operation.addProduces(produces); operation.addProduces(swaggerOperation.getProduces()); operation.addConsumes(consumes); operation.addConsumes(swaggerOperation.getConsumes()); operation.setDescription(swaggerOperation.getDescription()); operation.setMethod(methodName); operation.setName(swaggerOperation.getOperationId()); fillRwadefParameters(swaggerOperation, operation, resource, parameters); fillRwadefResponses(swaggerOperation, operation, contract, parameters); fillInputPayload(swaggerOperation, operation, contract); resource.getOperations().add(operation); }
QueryParameter swaggerQueryParameter = (QueryParameter) swaggerParameter; fillRwadefQueryParameter(queryParameter, swaggerQueryParameter); operation.getQueryParameters().add(queryParameter); } else if (swaggerParameter instanceof PathParameter) { PathParameter swaggerPathVariable = (PathParameter) swaggerParameter; fillRwadefPathVariable(pathVariable, swaggerPathVariable); if (resource.getPathVariable(pathVariable.getName()) == null) { resource.getPathVariables().add(pathVariable); HeaderParameter swaggerHeader = new HeaderParameter(); fillRwadefHeader(header, swaggerHeader); operation.getHeaders().add(header); } else {
private static void fillInputPayload(Operation swaggerOperation, org.restlet.ext.platform.internal.model.Operation operation, Contract contract) { BodyParameter bodyParameter = SwaggerUtils.getInputPayload(swaggerOperation); if (bodyParameter != null) { PayLoad payload = new PayLoad(); fillPayload(bodyParameter, payload); Representation representation = contract.getRepresentation(payload.getType()); if (representation != null) { representation.addSections(swaggerOperation.getTags()); } operation.setInputPayLoad(payload); } }
private static void fillRwadefResponses(Operation swaggerOperation, org.restlet.ext.platform.internal.model.Operation operation, Contract contract, Map<String, Object> parameters) { if (swaggerOperation == null) { return; } if (swaggerOperation.getResponses() != null) { for (String key : swaggerOperation.getResponses().keySet()) { Response swaggerResponse = swaggerOperation.getResponses().get(key); org.restlet.ext.platform.internal.model.Response response = new org.restlet.ext.platform.internal.model.Response(); int statusCode; try { statusCode = Integer.parseInt(key); response.setCode(statusCode); } catch (Exception e) { // TODO: what to do with "Default" responses ? LOGGER.warning("Response " + key + " for operation " + swaggerOperation.getOperationId() + " could not be retrieved because its key is not a valid status code."); continue; } response.setDescription(swaggerResponse.getDescription()); response.setName(ConversionUtils.generateResponseName(statusCode)); fillOutputPayload(swaggerResponse, response, swaggerOperation, contract, parameters); operation.getResponses().add(response); } } }
private static void fillRwadefOperation(Operation swaggerOperation, Resource resource, Contract contract, String methodName, List<String> produces, List<String> consumes, Map<String, Object> parameters) { if (swaggerOperation == null) { return; } org.restlet.ext.platform.internal.model.Operation operation = new org.restlet.ext.platform.internal.model.Operation(); operation.addProduces(produces); operation.addProduces(swaggerOperation.getProduces()); operation.addConsumes(consumes); operation.addConsumes(swaggerOperation.getConsumes()); operation.setDescription(swaggerOperation.getDescription()); operation.setMethod(methodName); operation.setName(swaggerOperation.getOperationId()); fillRwadefParameters(swaggerOperation, operation, resource, parameters); fillRwadefResponses(swaggerOperation, operation, contract, parameters); fillInputPayload(swaggerOperation, operation, contract); resource.getOperations().add(operation); }
QueryParameter swaggerQueryParameter = (QueryParameter) swaggerParameter; fillRwadefQueryParameter(queryParameter, swaggerQueryParameter); operation.getQueryParameters().add(queryParameter); } else if (swaggerParameter instanceof PathParameter) { PathParameter swaggerPathVariable = (PathParameter) swaggerParameter; fillRwadefPathVariable(pathVariable, swaggerPathVariable); if (resource.getPathVariable(pathVariable.getName()) == null) { resource.getPathVariables().add(pathVariable); HeaderParameter swaggerHeader = new HeaderParameter(); fillRwadefHeader(header, swaggerHeader); operation.getHeaders().add(header); } else {
private static void fillInputPayload(Operation swaggerOperation, org.restlet.ext.platform.internal.model.Operation operation, Contract contract) { BodyParameter bodyParameter = SwaggerUtils.getInputPayload(swaggerOperation); if (bodyParameter != null) { PayLoad payload = new PayLoad(); fillPayload(bodyParameter, payload); Representation representation = contract.getRepresentation(payload.getType()); if (representation != null) { representation.addSections(swaggerOperation.getTags()); } operation.setInputPayLoad(payload); } }
private static void fillRwadefResponses(Operation swaggerOperation, org.restlet.ext.platform.internal.model.Operation operation, Contract contract, Map<String, Object> parameters) { if (swaggerOperation == null) { return; } if (swaggerOperation.getResponses() != null) { for (String key : swaggerOperation.getResponses().keySet()) { Response swaggerResponse = swaggerOperation.getResponses().get(key); org.restlet.ext.platform.internal.model.Response response = new org.restlet.ext.platform.internal.model.Response(); int statusCode; try { statusCode = Integer.parseInt(key); response.setCode(statusCode); } catch (Exception e) { // TODO: what to do with "Default" responses ? LOGGER.warning("Response " + key + " for operation " + swaggerOperation.getOperationId() + " could not be retrieved because its key is not a valid status code."); continue; } response.setDescription(swaggerResponse.getDescription()); response.setName(ConversionUtils.generateResponseName(statusCode)); fillOutputPayload(swaggerResponse, response, swaggerOperation, contract, parameters); operation.getResponses().add(response); } } }
fillRwadefEndpoints(swagger, definition); fillRwadefGeneralInformation(swagger, definition, produces, consumes); fillSections(swagger, contract); fillDeclaredParameters(swagger, definition, parameters); fillRepresentations(swagger, contract); fillResources(swagger, contract, produces, consumes, parameters);
private static void fillDeclaredParameters(Swagger swagger, Definition definition, Map<String, Object> parameters) { if (swagger.getParameters() == null) { return; } for (String key : swagger.getParameters().keySet()) { Parameter swaggerParameter = swagger.getParameters().get(key); if (swaggerParameter instanceof QueryParameter) { org.restlet.ext.platform.internal.model.QueryParameter queryParameter = new org.restlet.ext.platform.internal.model.QueryParameter(); fillRwadefQueryParameter(queryParameter, (QueryParameter) swaggerParameter); parameters.put(key, queryParameter); } else if (swaggerParameter instanceof PathParameter) { PathVariable pathVariable = new PathVariable(); fillRwadefPathVariable(pathVariable, (PathParameter) swaggerParameter); parameters.put(key, pathVariable); } else if (swaggerParameter instanceof HeaderParameter) { Header header = new Header(); fillRwadefHeader(header, (HeaderParameter) swaggerParameter); parameters.put(key, header); } else if (swaggerParameter instanceof BodyParameter) { PayLoad payload = new PayLoad(); fillPayload((BodyParameter) swaggerParameter, payload); parameters.put(key, payload); } else { LOGGER.warning("The type of the parameter " + key + " was not recognized: " + swaggerParameter.getClass().getName()); } } }
private static void fillRwadefOperation(Operation swaggerOperation, Resource resource, Contract contract, String methodName, List<String> produces, List<String> consumes, Map<String, Object> parameters) { if (swaggerOperation == null) { return; } org.restlet.ext.platform.internal.model.Operation operation = new org.restlet.ext.platform.internal.model.Operation(); operation.addProduces(produces); operation.addProduces(swaggerOperation.getProduces()); operation.addConsumes(consumes); operation.addConsumes(swaggerOperation.getConsumes()); operation.setDescription(swaggerOperation.getDescription()); operation.setMethod(methodName); operation.setName(swaggerOperation.getOperationId()); fillRwadefParameters(swaggerOperation, operation, resource, parameters); fillRwadefResponses(swaggerOperation, operation, contract, parameters); fillInputPayload(swaggerOperation, operation, contract); resource.getOperations().add(operation); }
QueryParameter swaggerQueryParameter = (QueryParameter) swaggerParameter; fillRwadefQueryParameter(queryParameter, swaggerQueryParameter); operation.getQueryParameters().add(queryParameter); } else if (swaggerParameter instanceof PathParameter) { PathParameter swaggerPathVariable = (PathParameter) swaggerParameter; fillRwadefPathVariable(pathVariable, swaggerPathVariable); if (resource.getPathVariable(pathVariable.getName()) == null) { resource.getPathVariables().add(pathVariable); HeaderParameter swaggerHeader = new HeaderParameter(); fillRwadefHeader(header, swaggerHeader); operation.getHeaders().add(header); } else {
private static void fillInputPayload(Operation swaggerOperation, org.restlet.ext.platform.internal.model.Operation operation, Contract contract) { BodyParameter bodyParameter = SwaggerUtils.getInputPayload(swaggerOperation); if (bodyParameter != null) { PayLoad payload = new PayLoad(); fillPayload(bodyParameter, payload); Representation representation = contract.getRepresentation(payload.getType()); if (representation != null) { representation.addSections(swaggerOperation.getTags()); } operation.setInputPayLoad(payload); } }
private static void fillRwadefOperations(Path path, Resource resource, Contract contract, List<String> produces, List<String> consumes, Map<String, Object> parameters) { fillRwadefOperation(path.getGet(), resource, contract, Method.GET.getName(), produces, consumes, parameters); fillRwadefOperation(path.getPost(), resource, contract, Method.POST.getName(), produces, consumes, parameters); fillRwadefOperation(path.getPut(), resource, contract, Method.PUT.getName(), produces, consumes, parameters); fillRwadefOperation(path.getDelete(), resource, contract, Method.DELETE.getName(), produces, consumes, parameters); fillRwadefOperation(path.getOptions(), resource, contract, Method.OPTIONS.getName(), produces, consumes, parameters); fillRwadefOperation(path.getPatch(), resource, contract, Method.PATCH.getName(), produces, consumes, parameters); }
private static void fillRwadefResponses(Operation swaggerOperation, org.restlet.ext.platform.internal.model.Operation operation, Contract contract, Map<String, Object> parameters) { if (swaggerOperation == null) { return; } if (swaggerOperation.getResponses() != null) { for (String key : swaggerOperation.getResponses().keySet()) { Response swaggerResponse = swaggerOperation.getResponses().get(key); org.restlet.ext.platform.internal.model.Response response = new org.restlet.ext.platform.internal.model.Response(); int statusCode; try { statusCode = Integer.parseInt(key); response.setCode(statusCode); } catch (Exception e) { // TODO: what to do with "Default" responses ? LOGGER.warning("Response " + key + " for operation " + swaggerOperation.getOperationId() + " could not be retrieved because its key is not a valid status code."); continue; } response.setDescription(swaggerResponse.getDescription()); response.setName(ConversionUtils.generateResponseName(statusCode)); fillOutputPayload(swaggerResponse, response, swaggerOperation, contract, parameters); operation.getResponses().add(response); } } }
fillRwadefEndpoints(swagger, definition); fillRwadefGeneralInformation(swagger, definition, produces, consumes); fillSections(swagger, contract); fillDeclaredParameters(swagger, definition, parameters); fillRepresentations(swagger, contract); fillResources(swagger, contract, produces, consumes, parameters);
private static void fillDeclaredParameters(Swagger swagger, Definition definition, Map<String, Object> parameters) { if (swagger.getParameters() == null) { return; } for (String key : swagger.getParameters().keySet()) { Parameter swaggerParameter = swagger.getParameters().get(key); if (swaggerParameter instanceof QueryParameter) { org.restlet.ext.platform.internal.model.QueryParameter queryParameter = new org.restlet.ext.platform.internal.model.QueryParameter(); fillRwadefQueryParameter(queryParameter, (QueryParameter) swaggerParameter); parameters.put(key, queryParameter); } else if (swaggerParameter instanceof PathParameter) { PathVariable pathVariable = new PathVariable(); fillRwadefPathVariable(pathVariable, (PathParameter) swaggerParameter); parameters.put(key, pathVariable); } else if (swaggerParameter instanceof HeaderParameter) { Header header = new Header(); fillRwadefHeader(header, (HeaderParameter) swaggerParameter); parameters.put(key, header); } else if (swaggerParameter instanceof BodyParameter) { PayLoad payload = new PayLoad(); fillPayload((BodyParameter) swaggerParameter, payload); parameters.put(key, payload); } else { LOGGER.warning("The type of the parameter " + key + " was not recognized: " + swaggerParameter.getClass().getName()); } } }