throws TranslationException { validate(listing, apiDeclarations); fillMainAttributes(definition, listing, basePath); fillContract(contract, listing, apiDeclarations);
/** * Translates a Swagger Resource Listing to a Restlet definition. * * @param listing * The Swagger resource listing. * @return The Restlet definition. * @throws org.restlet.ext.platform.internal.conversion.TranslationException */ public static Definition translate(ResourceListing listing) { Definition definition = new Definition(); fillMainAttributes(definition, listing, null); Contract contract = definition.getContract(); fillSections(contract, listing); LOGGER.log(Level.FINE, "Main attributes successfully retrieved from Swagger resource listing."); return definition; }
fillVariants(operation, swaggerOperation, apiProduces, apiConsumes); fillOutPayLoad(success, swaggerOperation); operation.getResponses().add(success); fillParameters(resource, operation, swaggerOperation, declaredPathVariables); fillResponseMessages(operation, swaggerOperation); fillRepresentations(contract, section, apiDeclaration, subtypes, declaredTypes);
Endpoint endpoint = new Endpoint(apiDeclaration.getBasePath()); definition.getEndpoints().add(endpoint); fillEndpointAuthorization(apiDeclaration.getAuthorizations(), endpoint); fillContract(contract, apiDeclaration, new ArrayList<String>(), null, null);
/** * Fills Restlet Web API definition's Contract from Swagger 1.2 definition * * @param contract * The Restlet Web API definition's Contract * @param listing * The Swagger ResourceListing * @param apiDeclarations * The Swagger ApiDeclaration */ private static void fillContract(Contract contract, ResourceListing listing, Map<String, ApiDeclaration> apiDeclarations) { List<String> declaredTypes = new ArrayList<>(); for (Entry<String, ApiDeclaration> entry : apiDeclarations.entrySet()) { ApiDeclaration apiDeclaration = entry.getValue(); String sectionName = entry.getKey(); if (!StringUtils.isNullOrEmpty(sectionName)) { fillContract(contract, apiDeclaration, declaredTypes, sectionName.startsWith("/") ? sectionName.substring(1) : sectionName, listing.getApi(sectionName).getDescription()); } else { fillContract(contract, apiDeclaration, declaredTypes, null, null); } } }
fillEndpointAuthorization(listing.getAuthorizations(), endpoint);
fillOperations(resource, apiDeclaration, api, contract, section, declaredPathVariables, declaredTypes);
fillVariants(operation, swaggerOperation, apiProduces, apiConsumes); fillOutPayLoad(success, swaggerOperation); operation.getResponses().add(success); fillParameters(resource, operation, swaggerOperation, declaredPathVariables); fillResponseMessages(operation, swaggerOperation); fillRepresentations(contract, section, apiDeclaration, subtypes, declaredTypes);
Endpoint endpoint = new Endpoint(apiDeclaration.getBasePath()); definition.getEndpoints().add(endpoint); fillEndpointAuthorization(apiDeclaration.getAuthorizations(), endpoint); fillContract(contract, apiDeclaration, new ArrayList<String>(), null, null);
/** * Fills Restlet Web API definition's Contract from Swagger 1.2 definition * * @param contract * The Restlet Web API definition's Contract * @param listing * The Swagger ResourceListing * @param apiDeclarations * The Swagger ApiDeclaration */ private static void fillContract(Contract contract, ResourceListing listing, Map<String, ApiDeclaration> apiDeclarations) { List<String> declaredTypes = new ArrayList<>(); for (Entry<String, ApiDeclaration> entry : apiDeclarations.entrySet()) { ApiDeclaration apiDeclaration = entry.getValue(); String sectionName = entry.getKey(); if (!StringUtils.isNullOrEmpty(sectionName)) { fillContract(contract, apiDeclaration, declaredTypes, sectionName.startsWith("/") ? sectionName.substring(1) : sectionName, listing.getApi(sectionName).getDescription()); } else { fillContract(contract, apiDeclaration, declaredTypes, null, null); } } }
fillEndpointAuthorization(listing.getAuthorizations(), endpoint);
fillOperations(resource, apiDeclaration, api, contract, section, declaredPathVariables, declaredTypes);
fillVariants(operation, swaggerOperation, apiProduces, apiConsumes); fillOutPayLoad(success, swaggerOperation); operation.getResponses().add(success); fillParameters(resource, operation, swaggerOperation, declaredPathVariables); fillResponseMessages(operation, swaggerOperation); fillRepresentations(contract, section, apiDeclaration, subtypes, declaredTypes);
throws TranslationException { validate(listing, apiDeclarations); fillMainAttributes(definition, listing, basePath); fillContract(contract, listing, apiDeclarations);
/** * Translates a Swagger Resource Listing to a Restlet definition. * * @param listing * The Swagger resource listing. * @return The Restlet definition. * @throws org.restlet.ext.platform.internal.conversion.TranslationException */ public static Definition translate(ResourceListing listing) { Definition definition = new Definition(); fillMainAttributes(definition, listing, null); Contract contract = definition.getContract(); fillSections(contract, listing); LOGGER.log(Level.FINE, "Main attributes successfully retrieved from Swagger resource listing."); return definition; }
Endpoint endpoint = new Endpoint(apiDeclaration.getBasePath()); definition.getEndpoints().add(endpoint); fillEndpointAuthorization(apiDeclaration.getAuthorizations(), endpoint); fillContract(contract, apiDeclaration, new ArrayList<String>(), null, null);
/** * Fills Restlet Web API definition's Contract from Swagger 1.2 definition * * @param contract * The Restlet Web API definition's Contract * @param listing * The Swagger ResourceListing * @param apiDeclarations * The Swagger ApiDeclaration */ private static void fillContract(Contract contract, ResourceListing listing, Map<String, ApiDeclaration> apiDeclarations) { List<String> declaredTypes = new ArrayList<>(); for (Entry<String, ApiDeclaration> entry : apiDeclarations.entrySet()) { ApiDeclaration apiDeclaration = entry.getValue(); String sectionName = entry.getKey(); if (!StringUtils.isNullOrEmpty(sectionName)) { fillContract(contract, apiDeclaration, declaredTypes, sectionName.startsWith("/") ? sectionName.substring(1) : sectionName, listing.getApi(sectionName).getDescription()); } else { fillContract(contract, apiDeclaration, declaredTypes, null, null); } } }
fillEndpointAuthorization(listing.getAuthorizations(), endpoint);
fillOperations(resource, apiDeclaration, api, contract, section, declaredPathVariables, declaredTypes);
fillVariants(operation, swaggerOperation, apiProduces, apiConsumes); fillOutPayLoad(success, swaggerOperation); operation.getResponses().add(success); fillParameters(resource, operation, swaggerOperation, declaredPathVariables); fillResponseMessages(operation, swaggerOperation); fillRepresentations(contract, section, apiDeclaration, subtypes, declaredTypes);