/** * Translates a Restlet Web API Definition to a Swagger resource listing. * * @param definition * The Restlet Web API Definition. * @return The corresponding resource listing */ public static ResourceListing getResourcelisting(Definition definition) { ResourceListing result = new ResourceListing(); // fill resource listing main attributes fillResourceListingMainAttributes(definition, result); // fill resource listing API list fillResourceListingApis(definition, result); return result; } }
/** * 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); } } }
/** * Indicates if the given resource listing and list of API declarations * match. * * @param resourceListing * The Swagger resource listing. * @param apiDeclarations * The list of Swagger API declarations. * @throws org.restlet.ext.platform.internal.conversion.TranslationException */ private static void validate(ResourceListing resourceListing, Map<String, ApiDeclaration> apiDeclarations) throws TranslationException { int rlSize = resourceListing.getApis().size(); int adSize = apiDeclarations.size(); if (rlSize < adSize) { throw new TranslationException("file", "Some API declarations are not mapped in your resource listing"); } else if (rlSize > adSize) { throw new TranslationException("file", "Some API declarations are missing"); } } }
Definition definition, ResourceListing listing) { listing.setApiVersion(definition.getVersion()); listing.setInfo(new ApiInfo()); listing.setSwaggerVersion(SWAGGER_VERSION); if (definition.getContact() != null) { listing.getInfo().setContact(definition.getContact().getEmail()); listing.getInfo().setLicense(definition.getLicense().getName()); listing.getInfo().setLicenseUrl(definition.getLicense().getUrl()); listing.getInfo().setTitle(definition.getContract().getName()); listing.getInfo().setDescription( definition.getContract().getDescription()); authorizations .setBasicAuth(new BasicAuthorizationDeclaration()); listing.setAuthorizations(authorizations); } else if (ChallengeScheme.HTTP_OAUTH.getName().equals( authenticationProtocol)
definition.setVersion(listing.getApiVersion()); if (listing.getInfo() != null) { Contact contact = new Contact(); contact.setEmail(listing.getInfo().getContact()); definition.setContact(contact); license.setName(listing.getInfo().getLicense()); license.setUrl(listing.getInfo().getLicenseUrl()); definition.setLicense(license); contract.setName(listing.getInfo().getTitle()); contract.setDescription(listing.getInfo().getDescription()); fillEndpointAuthorization(listing.getAuthorizations(), endpoint);
listing.setApis(new ArrayList<ResourceListingApi>()); if (!addedApis.contains(rd.getPath())) { addedApis.add(rd.getPath()); listing.getApis().add(rd); if (!addedApis.contains(rd.getPath())) { addedApis.add(rd.getPath()); listing.getApis().add(rd); Collections.sort(listing.getApis(), new Comparator<ResourceListingApi>() { @Override
Definition definition, ResourceListing listing) { listing.setApiVersion(definition.getVersion()); listing.setInfo(new ApiInfo()); listing.setSwaggerVersion(SWAGGER_VERSION); if (definition.getContact() != null) { listing.getInfo().setContact(definition.getContact().getEmail()); listing.getInfo().setLicense(definition.getLicense().getName()); listing.getInfo().setLicenseUrl(definition.getLicense().getUrl()); listing.getInfo().setTitle(definition.getContract().getName()); listing.getInfo().setDescription( definition.getContract().getDescription()); authorizations .setBasicAuth(new BasicAuthorizationDeclaration()); listing.setAuthorizations(authorizations); } else if (ChallengeScheme.HTTP_OAUTH.getName().equals( authenticationProtocol)
definition.setVersion(listing.getApiVersion()); if (listing.getInfo() != null) { Contact contact = new Contact(); contact.setEmail(listing.getInfo().getContact()); definition.setContact(contact); license.setName(listing.getInfo().getLicense()); license.setUrl(listing.getInfo().getLicenseUrl()); definition.setLicense(license); contract.setName(listing.getInfo().getTitle()); contract.setDescription(listing.getInfo().getDescription()); fillEndpointAuthorization(listing.getAuthorizations(), endpoint);
listing.setApis(new ArrayList<ResourceListingApi>()); if (!addedApis.contains(rd.getPath())) { addedApis.add(rd.getPath()); listing.getApis().add(rd); if (!addedApis.contains(rd.getPath())) { addedApis.add(rd.getPath()); listing.getApis().add(rd); Collections.sort(listing.getApis(), new Comparator<ResourceListingApi>() { @Override
Definition definition, ResourceListing listing) { listing.setApiVersion(definition.getVersion()); listing.setInfo(new ApiInfo()); listing.setSwaggerVersion(SWAGGER_VERSION); if (definition.getContact() != null) { listing.getInfo().setContact(definition.getContact().getEmail()); listing.getInfo().setLicense(definition.getLicense().getName()); listing.getInfo().setLicenseUrl(definition.getLicense().getUrl()); listing.getInfo().setTitle(definition.getContract().getName()); listing.getInfo().setDescription( definition.getContract().getDescription()); authorizations .setBasicAuth(new BasicAuthorizationDeclaration()); listing.setAuthorizations(authorizations); } else if (ChallengeScheme.HTTP_OAUTH.getName().equals( authenticationProtocol)
definition.setVersion(listing.getApiVersion()); if (listing.getInfo() != null) { Contact contact = new Contact(); contact.setEmail(listing.getInfo().getContact()); definition.setContact(contact); license.setName(listing.getInfo().getLicense()); license.setUrl(listing.getInfo().getLicenseUrl()); definition.setLicense(license); contract.setName(listing.getInfo().getTitle()); contract.setDescription(listing.getInfo().getDescription()); fillEndpointAuthorization(listing.getAuthorizations(), endpoint);
/** * Indicates if the given resource listing and list of API declarations * match. * * @param resourceListing * The Swagger resource listing. * @param apiDeclarations * The list of Swagger API declarations. * @throws org.restlet.ext.platform.internal.conversion.TranslationException */ private static void validate(ResourceListing resourceListing, Map<String, ApiDeclaration> apiDeclarations) throws TranslationException { int rlSize = resourceListing.getApis().size(); int adSize = apiDeclarations.size(); if (rlSize < adSize) { throw new TranslationException("file", "Some API declarations are not mapped in your resource listing"); } else if (rlSize > adSize) { throw new TranslationException("file", "Some API declarations are missing"); } } }
listing.setApis(new ArrayList<ResourceListingApi>()); if (!addedApis.contains(rd.getPath())) { addedApis.add(rd.getPath()); listing.getApis().add(rd); if (!addedApis.contains(rd.getPath())) { addedApis.add(rd.getPath()); listing.getApis().add(rd); Collections.sort(listing.getApis(), new Comparator<ResourceListingApi>() { @Override
/** * Translates a Restlet Web API Definition to a Swagger resource listing. * * @param definition * The Restlet Web API Definition. * @return The corresponding resource listing */ public static ResourceListing getResourcelisting(Definition definition) { ResourceListing result = new ResourceListing(); // fill resource listing main attributes fillResourceListingMainAttributes(definition, result); // fill resource listing API list fillResourceListingApis(definition, result); return result; } }
/** * 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); } } }
Definition definition, ResourceListing listing) { listing.setApiVersion(definition.getVersion()); listing.setInfo(new ApiInfo()); listing.setSwaggerVersion(SWAGGER_VERSION); if (definition.getContact() != null) { listing.getInfo().setContact(definition.getContact().getEmail()); listing.getInfo().setLicense(definition.getLicense().getName()); listing.getInfo().setLicenseUrl(definition.getLicense().getUrl()); listing.getInfo().setTitle(definition.getContract().getName()); listing.getInfo().setDescription( definition.getContract().getDescription()); authorizations .setBasicAuth(new BasicAuthorizationDeclaration()); listing.setAuthorizations(authorizations); } else if (ChallengeScheme.HTTP_OAUTH.getName().equals( authenticationProtocol)
definition.setVersion(listing.getApiVersion()); if (listing.getInfo() != null) { Contact contact = new Contact(); contact.setEmail(listing.getInfo().getContact()); definition.setContact(contact); license.setName(listing.getInfo().getLicense()); license.setUrl(listing.getInfo().getLicenseUrl()); definition.setLicense(license); contract.setName(listing.getInfo().getTitle()); contract.setDescription(listing.getInfo().getDescription()); fillEndpointAuthorization(listing.getAuthorizations(), endpoint);
/** * Indicates if the given resource listing and list of API declarations * match. * * @param resourceListing * The Swagger resource listing. * @param apiDeclarations * The list of Swagger API declarations. * @throws org.restlet.ext.platform.internal.conversion.TranslationException */ private static void validate(ResourceListing resourceListing, Map<String, ApiDeclaration> apiDeclarations) throws TranslationException { int rlSize = resourceListing.getApis().size(); int adSize = apiDeclarations.size(); if (rlSize < adSize) { throw new TranslationException("file", "Some API declarations are not mapped in your resource listing"); } else if (rlSize > adSize) { throw new TranslationException("file", "Some API declarations are missing"); } } }
listing.setApis(new ArrayList<ResourceListingApi>()); if (!addedApis.contains(rd.getPath())) { addedApis.add(rd.getPath()); listing.getApis().add(rd); if (!addedApis.contains(rd.getPath())) { addedApis.add(rd.getPath()); listing.getApis().add(rd); Collections.sort(listing.getApis(), new Comparator<ResourceListingApi>() { @Override
/** * Translates a Restlet Web API Definition to a Swagger resource listing. * * @param definition * The Restlet Web API Definition. * @return The corresponding resource listing */ public static ResourceListing getResourcelisting(Definition definition) { ResourceListing result = new ResourceListing(); // fill resource listing main attributes fillResourceListingMainAttributes(definition, result); // fill resource listing API list fillResourceListingApis(definition, result); return result; } }