/** * Retrieves the Swagger API declaration corresponding to a category of the * given Restlet Web API {@link Definition} * * @param definition * The Restlet Web API {@link Definition} * @param sectionName * The category of the API declaration * @return The Swagger {@link ApiDeclaration} of the given category */ public static ApiDeclaration getApiDeclaration(Definition definition, String sectionName) { ApiDeclaration result = new ApiDeclaration(); Contract contract = definition.getContract(); // fill API declaration main attributes fillApiDeclarationMainAttributes(definition, result); // fill API declaration resources Collection<String> usedModels = fillApiDeclarationResources(contract, result, sectionName); // fill API declaration representations fillApiDeclarationRepresentations(contract, result, usedModels); return result; }
fillApiDeclarationPathVariables(resource, rod); fillApiDeclarationQueryParameters(operation, rod); fillApiDeclarationInRepresentation(operation, rod, contract, usedModels); fillApiDeclarationOutRepresentation(operation, rod, usedModels); fillApiDeclarationResponses(operation, usedModels, rod);
/** * Fills Swagger ApiDeclaration's ModelDeclarations from Restlet Web API * definition * * @param contract * The Restlet Web API definition's {@link Contract} * @param apiDeclaration * The Swagger {@link ApiDeclaration} * @param usedModels * The models specified by this API declaration */ private static void fillApiDeclarationRepresentations( Contract contract, ApiDeclaration apiDeclaration, Collection<String> usedModels) { apiDeclaration.setModels(new TreeMap<String, ModelDeclaration>()); List<String> usedModelsList = new ArrayList<>(usedModels); for (int i = 0; i < usedModelsList.size(); i++) { String model = usedModelsList.get(i); Representation repr = contract.getRepresentation(model); if (repr == null || Types.isPrimitiveType(model)) { continue; } ModelDeclaration md = new ModelDeclaration(); fillModel(apiDeclaration, usedModelsList, model, repr.getDescription(), repr.getProperties(), md); } }
return fillApiDeclarationResources(contract, apiDeclaration, resources);
fillApiDeclarationOperations(resource, contract, usedModels, rd);
fillApiDeclarationPathVariables(resource, rod); fillApiDeclarationQueryParameters(operation, rod); fillApiDeclarationInRepresentation(operation, rod, contract, usedModels); fillApiDeclarationOutRepresentation(operation, rod, usedModels); fillApiDeclarationResponses(operation, usedModels, rod);
/** * Fills Swagger ApiDeclaration's ModelDeclarations from Restlet Web API * definition * * @param contract * The Restlet Web API definition's {@link Contract} * @param apiDeclaration * The Swagger {@link ApiDeclaration} * @param usedModels * The models specified by this API declaration */ private static void fillApiDeclarationRepresentations( Contract contract, ApiDeclaration apiDeclaration, Collection<String> usedModels) { apiDeclaration.setModels(new TreeMap<String, ModelDeclaration>()); List<String> usedModelsList = new ArrayList<>(usedModels); for (int i = 0; i < usedModelsList.size(); i++) { String model = usedModelsList.get(i); Representation repr = contract.getRepresentation(model); if (repr == null || Types.isPrimitiveType(model)) { continue; } ModelDeclaration md = new ModelDeclaration(); fillModel(apiDeclaration, usedModelsList, model, repr.getDescription(), repr.getProperties(), md); } }
return fillApiDeclarationResources(contract, apiDeclaration, resources);
fillApiDeclarationOperations(resource, contract, usedModels, rd);
fillApiDeclarationPathVariables(resource, rod); fillApiDeclarationQueryParameters(operation, rod); fillApiDeclarationInRepresentation(operation, rod, contract, usedModels); fillApiDeclarationOutRepresentation(operation, rod, usedModels); fillApiDeclarationResponses(operation, usedModels, rod);
/** * Retrieves the Swagger API declaration corresponding to a category of the * given Restlet Web API {@link Definition} * * @param definition * The Restlet Web API {@link Definition} * @param sectionName * The category of the API declaration * @return The Swagger {@link ApiDeclaration} of the given category */ public static ApiDeclaration getApiDeclaration(Definition definition, String sectionName) { ApiDeclaration result = new ApiDeclaration(); Contract contract = definition.getContract(); // fill API declaration main attributes fillApiDeclarationMainAttributes(definition, result); // fill API declaration resources Collection<String> usedModels = fillApiDeclarationResources(contract, result, sectionName); // fill API declaration representations fillApiDeclarationRepresentations(contract, result, usedModels); return result; }
/** * Fills Swagger ApiDeclaration's ModelDeclarations from Restlet Web API * definition * * @param contract * The Restlet Web API definition's {@link Contract} * @param apiDeclaration * The Swagger {@link ApiDeclaration} * @param usedModels * The models specified by this API declaration */ private static void fillApiDeclarationRepresentations( Contract contract, ApiDeclaration apiDeclaration, Collection<String> usedModels) { apiDeclaration.setModels(new TreeMap<String, ModelDeclaration>()); List<String> usedModelsList = new ArrayList<>(usedModels); for (int i = 0; i < usedModelsList.size(); i++) { String model = usedModelsList.get(i); Representation repr = contract.getRepresentation(model); if (repr == null || Types.isPrimitiveType(model)) { continue; } ModelDeclaration md = new ModelDeclaration(); fillModel(apiDeclaration, usedModelsList, model, repr.getDescription(), repr.getProperties(), md); } }
return fillApiDeclarationResources(contract, apiDeclaration, resources);
fillApiDeclarationOperations(resource, contract, usedModels, rd);
fillApiDeclarationPathVariables(resource, rod); fillApiDeclarationQueryParameters(operation, rod); fillApiDeclarationInRepresentation(operation, rod, contract, usedModels); fillApiDeclarationOutRepresentation(operation, rod, usedModels); fillApiDeclarationResponses(operation, usedModels, rod);
/** * Retrieves the Swagger API declaration corresponding to a category of the * given Restlet Web API {@link Definition} * * @param definition * The Restlet Web API {@link Definition} * @param sectionName * The category of the API declaration * @return The Swagger {@link ApiDeclaration} of the given category */ public static ApiDeclaration getApiDeclaration(Definition definition, String sectionName) { ApiDeclaration result = new ApiDeclaration(); Contract contract = definition.getContract(); // fill API declaration main attributes fillApiDeclarationMainAttributes(definition, result); // fill API declaration resources Collection<String> usedModels = fillApiDeclarationResources(contract, result, sectionName); // fill API declaration representations fillApiDeclarationRepresentations(contract, result, usedModels); return result; }
/** * Fills Swagger ApiDeclaration's ModelDeclarations from Restlet Web API * definition * * @param contract * The Restlet Web API definition's {@link Contract} * @param apiDeclaration * The Swagger {@link ApiDeclaration} * @param usedModels * The models specified by this API declaration */ private static void fillApiDeclarationRepresentations( Contract contract, ApiDeclaration apiDeclaration, Collection<String> usedModels) { apiDeclaration.setModels(new TreeMap<String, ModelDeclaration>()); List<String> usedModelsList = new ArrayList<>(usedModels); for (int i = 0; i < usedModelsList.size(); i++) { String model = usedModelsList.get(i); Representation repr = contract.getRepresentation(model); if (repr == null || Types.isPrimitiveType(model)) { continue; } ModelDeclaration md = new ModelDeclaration(); fillModel(apiDeclaration, usedModelsList, model, repr.getDescription(), repr.getProperties(), md); } }
return fillApiDeclarationResources(contract, apiDeclaration, resources);
fillApiDeclarationOperations(resource, contract, usedModels, rd);
/** * Retrieves the Swagger API declaration corresponding to a category of the * given Restlet Web API {@link Definition} * * @param definition * The Restlet Web API {@link Definition} * @param sectionName * The category of the API declaration * @return The Swagger {@link ApiDeclaration} of the given category */ public static ApiDeclaration getApiDeclaration(Definition definition, String sectionName) { ApiDeclaration result = new ApiDeclaration(); Contract contract = definition.getContract(); // fill API declaration main attributes fillApiDeclarationMainAttributes(definition, result); // fill API declaration resources Collection<String> usedModels = fillApiDeclarationResources(contract, result, sectionName); // fill API declaration representations fillApiDeclarationRepresentations(contract, result, usedModels); return result; }