@Override public MarkupDocBuilder apply(MarkupDocBuilder markupDocBuilder, Parameters params) { String version = params.info.getVersion(); if (isNotBlank(version)) { markupDocBuilder.sectionTitleLevel(params.titleLevel, labels.getLabel(Labels.CURRENT_VERSION)); MarkupDocBuilder paragraphBuilder = copyMarkupDocBuilder(markupDocBuilder); paragraphBuilder.italicText(labels.getLabel(Labels.VERSION)).textLine(COLON + version); markupDocBuilder.paragraph(paragraphBuilder.toString(), true); } return markupDocBuilder; }
private void correctInfo() { Info info = swagger.getInfo(); if (info == null) { info = new Info(); swagger.setInfo(info); } if (StringUtils.isEmpty(info.getTitle())) { info.setTitle("swagger definition for " + cls.getName()); } if (StringUtils.isEmpty(info.getVersion())) { info.setVersion("1.0.0"); } setJavaInterface(info, cls); }
public String getNewVersion() { return newSpecSwagger.getInfo().getVersion(); } }
/** * validate configuration according to swagger spec and plugin requirement * * @param apiSource * @throws GenerateException */ private void validateConfiguration(ApiSource apiSource) throws GenerateException { if (apiSource == null) { throw new GenerateException("You do not configure any apiSource!"); } else if (apiSource.getInfo() == null) { throw new GenerateException("`<info>` is required by Swagger Spec."); } if (apiSource.getInfo().getTitle() == null) { throw new GenerateException("`<info><title>` is required by Swagger Spec."); } if (apiSource.getInfo().getVersion() == null) { throw new GenerateException("`<info><version>` is required by Swagger Spec."); } if (apiSource.getInfo().getLicense() != null && apiSource.getInfo().getLicense().getName() == null) { throw new GenerateException("`<info><license><name>` is required by Swagger Spec."); } if (apiSource.getLocations() == null) { throw new GenerateException("<locations> is required by this plugin."); } }
public String getOldVersion() { return oldSpecSwagger.getInfo().getVersion(); }
private static void validateVersions(List<OpenApiFile> openApiFiles) throws OpenApiConversionException { final ListMultimap<String, OpenApiFile> apis = Multimaps.index(openApiFiles, f -> f.apiName()); for (String apiName : apis.keySet()) { final List<OpenApiFile> files = apis.get(apiName); if (files.size() > 1) { final List<String> locations = Lists.newArrayList(); for (OpenApiFile file : files) { locations.add( String.format("%s:%s", file.filename(), file.swagger().getInfo().getVersion())); } throw new OpenApiConversionException( String.format( "OpenAPI files includes conflicting API versions. Files and Versions found: {%s}", Joiner.on(", ").join(locations))); } } } }
private static void validateVersions(List<OpenApiFile> openApiFiles) throws OpenApiConversionException { final ListMultimap<String, OpenApiFile> apis = Multimaps.index(openApiFiles, f -> f.apiName()); for (String apiName : apis.keySet()) { final List<OpenApiFile> files = apis.get(apiName); if (files.size() > 1) { final List<String> locations = Lists.newArrayList(); for (OpenApiFile file : files) { locations.add( String.format("%s:%s", file.filename(), file.swagger().getInfo().getVersion())); } throw new OpenApiConversionException( String.format( "OpenAPI files includes conflicting API versions. Files and Versions found: {%s}", Joiner.on(", ").join(locations))); } } } }
@Override public void preprocessSwagger(Swagger swagger) { super.preprocessSwagger(swagger); // add full swagger definition in a mustache parameter String swaggerDef = Json.pretty(swagger); this.additionalProperties.put("fullSwagger", swaggerDef); // add server port from the swagger file, 8080 by default String host = swagger.getHost(); String port = extractPortFromHost(host); this.additionalProperties.put("serverPort", port); // retrieve api version from swagger file, 1.0.0-SNAPSHOT by default if (swagger.getInfo() != null && swagger.getInfo().getVersion() != null) artifactVersion = apiVersion = swagger.getInfo().getVersion(); else artifactVersion = apiVersion; // manage operation & custom serviceId Map<String, Path> paths = swagger.getPaths(); if (paths != null) { for (Entry<String, Path> entry : paths.entrySet()) { manageOperationNames(entry.getValue(), entry.getKey()); } } }
private void correctInfo() { Info info = swagger.getInfo(); if (info == null) { info = new Info(); swagger.setInfo(info); } if (StringUtils.isEmpty(info.getTitle())) { info.setTitle("swagger definition for " + cls.getName()); } if (StringUtils.isEmpty(info.getVersion())) { info.setVersion("1.0.0"); } setJavaInterface(info, cls); }
public static OpenApiFile create( Service.Builder serviceBuilder, Swagger swagger, String filename, String typeNamespace) throws OpenApiConversionException { String hostname = Strings.nullToEmpty(swagger.getHost()); String version = Strings.nullToEmpty(swagger.getInfo().getVersion()); String googleApiName = ""; if (swagger.getVendorExtensions() != null) { googleApiName = Strings.nullToEmpty( (String) swagger.getVendorExtensions().get(ExtensionNames.API_NAME)); } String apiName = ApiNameGenerator.generate(hostname, googleApiName, version); return new AutoValue_MultiOpenApiParser_OpenApiFile( serviceBuilder, swagger, filename, apiName, OpenApiConversionResources.create(swagger, filename, apiName, typeNamespace)); } }
private void validateInfo(Info actualInfo, Info expectedInfo) { // Version. OFF by default. if (isAssertionEnabled(SwaggerAssertionType.VERSION)) { softAssertions.assertThat(actualInfo.getVersion()).as("Checking Version").isEqualTo(expectedInfo.getVersion()); } // Everything (but potentially brittle, therefore OFF by default) if (isAssertionEnabled(SwaggerAssertionType.INFO)) { softAssertions.assertThat(actualInfo).as("Checking Info").isEqualToComparingFieldByField(expectedInfo); } }
public static OpenApiFile create( Service.Builder serviceBuilder, Swagger swagger, String filename, String typeNamespace) throws OpenApiConversionException { String hostname = Strings.nullToEmpty(swagger.getHost()); String version = Strings.nullToEmpty(swagger.getInfo().getVersion()); String googleApiName = ""; if (swagger.getVendorExtensions() != null) { googleApiName = Strings.nullToEmpty( (String) swagger.getVendorExtensions().get(ExtensionNames.API_NAME)); } String apiName = ApiNameGenerator.generate(hostname, googleApiName, version); return new AutoValue_MultiOpenApiParser_OpenApiFile( serviceBuilder, swagger, filename, apiName, OpenApiConversionResources.create(swagger, filename, apiName, typeNamespace)); } }
private void validateInfo(Info actualInfo, Info expectedInfo) { // Version. OFF by default. if (isAssertionEnabled(SwaggerAssertionType.VERSION)) { softAssertions.assertThat(actualInfo.getVersion()).as("Checking Version").isEqualTo(expectedInfo.getVersion()); } // Everything (but potentially brittle, therefore OFF by default) if (isAssertionEnabled(SwaggerAssertionType.INFO)) { softAssertions.assertThat(actualInfo).as("Checking Info").isEqualToComparingFieldByField(expectedInfo); } }
protected void applyDefaultVersion(Swagger data) { if (applyDefaultVersion && data.getInfo() != null && data.getInfo().getVersion() == null && beanConfig != null && beanConfig.getResourcePackage() != null) { Package resourcePackage = Package.getPackage(beanConfig.getResourcePackage()); if (resourcePackage != null) { data.getInfo().setVersion(resourcePackage.getImplementationVersion()); } } }
private NewApiEntity mapSwagger12ToNewApi(Swagger swagger) { if (swagger == null || swagger.getInfo() == null) { return null; } NewApiEntity apiEntity = new NewApiEntity(); apiEntity.setName(swagger.getInfo().getTitle()); apiEntity.setDescription(swagger.getInfo().getDescription()); apiEntity.setVersion(swagger.getInfo().getVersion()); String scheme = (swagger.getSchemes() == null || swagger.getSchemes().isEmpty()) ? defaultScheme : swagger.getSchemes().iterator().next().toValue(); apiEntity.setEndpoint(scheme + "://" + swagger.getHost() + swagger.getBasePath()); apiEntity.setPaths(new ArrayList<>( swagger.getPaths().keySet() .stream() .map(path -> path.replaceAll("\\{(.[^/]*)\\}", ":$1")) .collect(Collectors.toList()))); return apiEntity; }
private NewApiEntity mapSwagger12ToNewApi(Swagger swagger) { if (swagger == null || swagger.getInfo() == null) { return null; } NewApiEntity apiEntity = new NewApiEntity(); apiEntity.setName(swagger.getInfo().getTitle()); apiEntity.setDescription(swagger.getInfo().getDescription()); apiEntity.setVersion(swagger.getInfo().getVersion()); String scheme = (swagger.getSchemes() == null || swagger.getSchemes().isEmpty()) ? defaultScheme : swagger.getSchemes().iterator().next().toValue(); apiEntity.setEndpoint(scheme + "://" + swagger.getHost() + swagger.getBasePath()); apiEntity.setPaths(new ArrayList<>( swagger.getPaths().keySet() .stream() .map(path -> path.replaceAll("\\{(.[^/]*)\\}", ":$1")) .collect(Collectors.toList()))); return apiEntity; }
@Override public MarkupDocBuilder apply(MarkupDocBuilder markupDocBuilder, Parameters params) { String version = params.info.getVersion(); if (isNotBlank(version)) { markupDocBuilder.sectionTitleLevel(params.titleLevel, labels.getLabel(Labels.CURRENT_VERSION)); MarkupDocBuilder paragraphBuilder = copyMarkupDocBuilder(markupDocBuilder); paragraphBuilder.italicText(labels.getLabel(Labels.VERSION)).textLine(COLON + version); markupDocBuilder.paragraph(paragraphBuilder.toString(), true); } return markupDocBuilder; }
public Info convert(io.swagger.models.Info v2Info) { Info info = new Info(); info.setContact(convert(v2Info.getContact())); info.setDescription(v2Info.getDescription()); info.setLicense(convert(v2Info.getLicense())); info.setTermsOfService(v2Info.getTermsOfService()); info.setTitle(v2Info.getTitle()); info.setVersion(v2Info.getVersion()); info.setExtensions(convert(v2Info.getVendorExtensions())); return info; }
public Info convert(io.swagger.models.Info v2Info) { Info info = new Info(); info.setContact(convert(v2Info.getContact())); info.setDescription(v2Info.getDescription()); info.setLicense(convert(v2Info.getLicense())); info.setTermsOfService(v2Info.getTermsOfService()); info.setTitle(v2Info.getTitle()); info.setVersion(v2Info.getVersion()); info.setExtensions(convert(v2Info.getVendorExtensions())); return info; }
public Info convert(io.swagger.models.Info v2Info) { Info info = new Info(); info.setContact(convert(v2Info.getContact())); info.setDescription(v2Info.getDescription()); info.setLicense(convert(v2Info.getLicense())); info.setTermsOfService(v2Info.getTermsOfService()); info.setTitle(v2Info.getTitle()); info.setVersion(v2Info.getVersion()); info.setExtensions(convert(v2Info.getVendorExtensions())); return info; }