private boolean isDeprecated(Swagger swagger) { if (swagger.getVendorExtensions() != null && swagger.getVendorExtensions().containsKey(ExtensionNames.X_GOOGLE_DEPRECATED)) { return VendorExtensionUtils.getExtensionValue( swagger.getVendorExtensions(), Boolean.class, diagCollector, ExtensionNames.X_GOOGLE_DEPRECATED); } return false; }
private boolean isDeprecated(Swagger swagger) { if (swagger.getVendorExtensions() != null && swagger.getVendorExtensions().containsKey(ExtensionNames.X_GOOGLE_DEPRECATED)) { return VendorExtensionUtils.getExtensionValue( swagger.getVendorExtensions(), Boolean.class, diagCollector, ExtensionNames.X_GOOGLE_DEPRECATED); } return false; }
private ServiceManagementExtension readExtension(Swagger swagger) { return new Gson() .fromJson( swagger .getVendorExtensions() .get(ExtensionNames.MANAGEMENT_SWAGGER_EXTENSION) .toString(), ServiceManagementExtension.class); }
private ServiceManagementExtension readExtension(Swagger swagger) { return new Gson() .fromJson( swagger .getVendorExtensions() .get(ExtensionNames.MANAGEMENT_SWAGGER_EXTENSION) .toString(), ServiceManagementExtension.class); }
private static URI specificationUriFrom(final Swagger swagger) { final Map<String, Object> vendorExtensions = Optional.ofNullable(swagger.getVendorExtensions()).orElse(Collections.emptyMap()); return (URI) vendorExtensions.get(BaseSwaggerConnectorGenerator.URL_EXTENSION); }
private static URI specificationUriFrom(final Swagger swagger) { final Map<String, Object> vendorExtensions = Optional.ofNullable(swagger.getVendorExtensions()).orElse(Collections.emptyMap()); return (URI) vendorExtensions.get(BaseSwaggerConnectorGenerator.URL_EXTENSION); }
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)); } }
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)); } }
/** Returns true if x-google-allow is set to all; false otherwise. */ private static boolean isAllowAllMethodsConfigured(Swagger swagger, DiagCollector diagCollector) { String googleAllowExtensionNameUsed = VendorExtensionUtils.usedExtension( diagCollector, swagger.getVendorExtensions(), ExtensionNames.X_GOOGLE_ALLOW); if (!Strings.isNullOrEmpty(googleAllowExtensionNameUsed)) { String allowMethodsExtensionValue = VendorExtensionUtils.getExtensionValue( swagger.getVendorExtensions(), String.class, diagCollector, googleAllowExtensionNameUsed); if (!Strings.isNullOrEmpty(allowMethodsExtensionValue)) { if (allowMethodsExtensionValue.equalsIgnoreCase("all")) { return true; } else if (allowMethodsExtensionValue.equalsIgnoreCase("configured")) { return false; } else { diagCollector.addDiag( Diag.error( new SimpleLocation(ExtensionNames.X_GOOGLE_ALLOW), "Only allowed values for %s are %s", ExtensionNames.X_GOOGLE_ALLOW, "all|configured")); return false; } } } return false; }
static String determineHost(final Swagger swagger) { final Map<String, Object> vendorExtensions = ofNullable(swagger.getVendorExtensions()).orElse(Collections.emptyMap()); final URI specificationUrl = (URI) vendorExtensions.get(BaseSwaggerConnectorGenerator.URL_EXTENSION); final String schemeToUse = determineSchemeToUse(swagger, specificationUrl); if (schemeToUse == null) { return null; } final String specificationHost = swagger.getHost(); final boolean specificationWithoutHost = StringUtils.isEmpty(specificationHost); if (specificationWithoutHost && specificationUrl == null) { return null; } String hostToUse; if (specificationWithoutHost && specificationUrl != null) { hostToUse = specificationUrl.getHost(); } else { hostToUse = swagger.getHost(); } final int portToUse; final int colonIdx = hostToUse.indexOf(':'); if (colonIdx == -1) { portToUse = -1; } else { portToUse = Integer.parseUnsignedInt(hostToUse.substring(colonIdx + 1)); hostToUse = hostToUse.substring(0, colonIdx); } return createHostUri(schemeToUse, hostToUse, portToUse); }
static String determineHost(final Swagger swagger) { final Map<String, Object> vendorExtensions = ofNullable(swagger.getVendorExtensions()).orElse(Collections.emptyMap()); final URI specificationUrl = (URI) vendorExtensions.get(BaseSwaggerConnectorGenerator.URL_EXTENSION); final String schemeToUse = determineSchemeToUse(swagger, specificationUrl); if (schemeToUse == null) { return null; } final String specificationHost = swagger.getHost(); final boolean specificationWithoutHost = StringUtils.isEmpty(specificationHost); if (specificationWithoutHost && specificationUrl == null) { return null; } String hostToUse; if (specificationWithoutHost && specificationUrl != null) { hostToUse = specificationUrl.getHost(); } else { hostToUse = swagger.getHost(); } final int portToUse; final int colonIdx = hostToUse.indexOf(':'); if (colonIdx == -1) { portToUse = -1; } else { portToUse = Integer.parseUnsignedInt(hostToUse.substring(colonIdx + 1)); hostToUse = hostToUse.substring(0, colonIdx); } return createHostUri(schemeToUse, hostToUse, portToUse); }
/** Returns true if x-google-allow is set to all; false otherwise. */ private static boolean isAllowAllMethodsConfigured(Swagger swagger, DiagCollector diagCollector) { String googleAllowExtensionNameUsed = VendorExtensionUtils.usedExtension( diagCollector, swagger.getVendorExtensions(), ExtensionNames.X_GOOGLE_ALLOW); if (!Strings.isNullOrEmpty(googleAllowExtensionNameUsed)) { String allowMethodsExtensionValue = VendorExtensionUtils.getExtensionValue( swagger.getVendorExtensions(), String.class, diagCollector, googleAllowExtensionNameUsed); if (!Strings.isNullOrEmpty(allowMethodsExtensionValue)) { if (allowMethodsExtensionValue.equalsIgnoreCase("all")) { return true; } else if (allowMethodsExtensionValue.equalsIgnoreCase("configured")) { return false; } else { diagCollector.addDiag( Diag.error( new SimpleLocation(ExtensionNames.X_GOOGLE_ALLOW), "Only allowed values for %s are %s", ExtensionNames.X_GOOGLE_ALLOW, "all|configured")); return false; } } } return false; }
@Override public void addFromSwagger(Service.Builder serviceBuilder, Swagger swagger) { VendorExtensionProtoConverter extensionConverter = new VendorExtensionProtoConverter(swagger.getVendorExtensions(), diagCollector); if (extensionConverter.hasExtension(ExtensionNames.ENDPOINTS_EXTENSION_NAME)) { serviceBuilder.addAllEndpoints( extensionConverter.convertExtensionToProtos( Endpoint.getDefaultInstance(), ExtensionNames.ENDPOINTS_EXTENSION_NAME)); validEndpointExtension(serviceBuilder, swagger.getHost()); } }
@Override public void addFromSwagger(Service.Builder serviceBuilder, Swagger swagger) { VendorExtensionProtoConverter extensionConverter = new VendorExtensionProtoConverter(swagger.getVendorExtensions(), diagCollector); if (extensionConverter.hasExtension(ExtensionNames.ENDPOINTS_EXTENSION_NAME)) { serviceBuilder.addAllEndpoints( extensionConverter.convertExtensionToProtos( Endpoint.getDefaultInstance(), ExtensionNames.ENDPOINTS_EXTENSION_NAME)); validEndpointExtension(serviceBuilder, swagger.getHost()); } }
/** Adds auth security requirement for the entire service. */ public void addSecurityRequirementExtensionForEntireService( Service.Builder serviceBuilder, Swagger swagger) { AuthenticationRule.Builder builder = AuthenticationRule.newBuilder(); Map<String, SecurityRequirementModel> authRequirements = authRuleGenerator.getSecurityRequirements( swagger.getSecurity() != null ? Iterables.transform(swagger.getSecurity(), SecurityRequirementsExtractor.INSTANCE) : null, swagger.getVendorExtensions(), new SimpleLocation("OpenAPI")); if (authRequirements != null && !authRequirements.isEmpty()) { builder.addAllRequirements(SecurityRequirementModel.createAuthRequirements(authRequirements)); builder.setSelector("*"); Authentication.Builder authenticationBuilder = serviceBuilder.getAuthenticationBuilder(); authenticationBuilder.addRules(builder.build()); } }
/** Adds auth security requirement for the entire service. */ public void addSecurityRequirementExtensionForEntireService( Service.Builder serviceBuilder, Swagger swagger) { AuthenticationRule.Builder builder = AuthenticationRule.newBuilder(); Map<String, SecurityRequirementModel> authRequirements = authRuleGenerator.getSecurityRequirements( swagger.getSecurity() != null ? Iterables.transform(swagger.getSecurity(), SecurityRequirementsExtractor.INSTANCE) : null, swagger.getVendorExtensions(), new SimpleLocation("OpenAPI")); if (authRequirements != null && !authRequirements.isEmpty()) { builder.addAllRequirements(SecurityRequirementModel.createAuthRequirements(authRequirements)); builder.setSelector("*"); Authentication.Builder authenticationBuilder = serviceBuilder.getAuthenticationBuilder(); authenticationBuilder.addRules(builder.build()); } }
@Override public void addFromSwagger(Service.Builder serviceBuilder, Swagger swagger) { VendorExtensionProtoConverter extensionConverter = new VendorExtensionProtoConverter(swagger.getVendorExtensions(), diagCollector); if (extensionConverter.hasExtension(ExtensionNames.AUTHORIZATION_EXTENSION_NAME)) { Experimental.Builder eBuilder = serviceBuilder.getExperimentalBuilder(); AuthorizationConfig config = extensionConverter.convertExtensionToProto( AuthorizationConfig.getDefaultInstance(), ExtensionNames.AUTHORIZATION_EXTENSION_NAME); serviceBuilder.setExperimental(eBuilder.setAuthorization(config)); } } }
@Override public void addFromSwagger(Service.Builder serviceBuilder, Swagger swagger) { VendorExtensionProtoConverter extensionConverter = new VendorExtensionProtoConverter(swagger.getVendorExtensions(), diagCollector); if (extensionConverter.hasExtension(ExtensionNames.AUTHORIZATION_EXTENSION_NAME)) { Experimental.Builder eBuilder = serviceBuilder.getExperimentalBuilder(); AuthorizationConfig config = extensionConverter.convertExtensionToProto( AuthorizationConfig.getDefaultInstance(), ExtensionNames.AUTHORIZATION_EXTENSION_NAME); serviceBuilder.setExperimental(eBuilder.setAuthorization(config)); } } }
@Override public void addFromSwagger(Service.Builder serviceBuilder, Swagger swagger) { VendorExtensionProtoConverter extensionConverter = new VendorExtensionProtoConverter(swagger.getVendorExtensions(), diagCollector); if (extensionConverter.hasExtension(ExtensionNames.MANAGEMENT_SWAGGER_EXTENSION)) { ServiceManagementExtension serviceManagementExtension = readExtension(swagger); Quota quota = parseQuota(serviceManagementExtension, extensionConverter); if (!quota.equals(Quota.getDefaultInstance())) { serviceBuilder.setQuota(quota); } serviceBuilder.addAllMetrics(parseMetrics(serviceManagementExtension, extensionConverter)); } }
@Override public void addFromSwagger(Service.Builder serviceBuilder, Swagger swagger) { VendorExtensionProtoConverter extensionConverter = new VendorExtensionProtoConverter(swagger.getVendorExtensions(), diagCollector); if (extensionConverter.hasExtension(ExtensionNames.MANAGEMENT_SWAGGER_EXTENSION)) { ServiceManagementExtension serviceManagementExtension = readExtension(swagger); Quota quota = parseQuota(serviceManagementExtension, extensionConverter); if (!quota.equals(Quota.getDefaultInstance())) { serviceBuilder.setQuota(quota); } serviceBuilder.addAllMetrics(parseMetrics(serviceManagementExtension, extensionConverter)); } }