Java Code Examples for io.swagger.jaxrs.config.BeanConfig#setResourcePackage()

The following examples show how to use io.swagger.jaxrs.config.BeanConfig#setResourcePackage() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ApiDocConfig.java    From ambari-logsearch with Apache License 2.0 8 votes vote down vote up
@Bean
public BeanConfig swaggerConfig() {
  BeanConfig beanConfig = new BeanConfig();
  beanConfig.setSchemes(new String[]{"http", "https"});
  beanConfig.setBasePath(BASE_PATH);
  beanConfig.setTitle(TITLE);
  beanConfig.setDescription(DESCRIPTION);
  beanConfig.setLicense(LICENSE);
  beanConfig.setLicenseUrl(LICENSE_URL);
  beanConfig.setScan(true);
  beanConfig.setVersion(VERSION);
  beanConfig.setResourcePackage(ServiceLogsResource.class.getPackage().getName());

  License license = new License();
  license.setName(LICENSE);
  license.setUrl(LICENSE_URL);

  Info info = new Info();
  info.setDescription(DESCRIPTION);
  info.setTitle(TITLE);
  info.setVersion(VERSION);
  info.setLicense(license);
  beanConfig.setInfo(info);
  return beanConfig;
}
 
Example 2
Source File: AdminApiApplication.java    From incubator-pinot with Apache License 2.0 6 votes vote down vote up
private void setupSwagger(HttpServer httpServer) {
  BeanConfig beanConfig = new BeanConfig();
  beanConfig.setTitle("Pinot Server API");
  beanConfig.setDescription("APIs for accessing Pinot server information");
  beanConfig.setContact("https://github.com/apache/incubator-pinot");
  beanConfig.setVersion("1.0");
  beanConfig.setSchemes(new String[]{"http"});
  beanConfig.setBasePath(baseUri.getPath());
  beanConfig.setResourcePackage(RESOURCE_PACKAGE);
  beanConfig.setScan(true);

  CLStaticHttpHandler staticHttpHandler =
      new CLStaticHttpHandler(AdminApiApplication.class.getClassLoader(), "/api/");
  // map both /api and /help to swagger docs. /api because it looks nice. /help for backward compatibility
  httpServer.getServerConfiguration().addHttpHandler(staticHttpHandler, "/api/");
  httpServer.getServerConfiguration().addHttpHandler(staticHttpHandler, "/help/");

  URL swaggerDistLocation =
      AdminApiApplication.class.getClassLoader().getResource("META-INF/resources/webjars/swagger-ui/2.2.2/");
  CLStaticHttpHandler swaggerDist = new CLStaticHttpHandler(new URLClassLoader(new URL[]{swaggerDistLocation}));
  httpServer.getServerConfiguration().addHttpHandler(swaggerDist, "/swaggerui-dist/");
}
 
Example 3
Source File: WebServicesConfiguration.java    From microservices-transactions-tcc with Apache License 2.0 6 votes vote down vote up
private void configureSwagger() {
	// Available at localhost:port/swagger.json
	this.register(ApiListingResource.class);
	this.register(SwaggerSerializers.class);

	BeanConfig config = new BeanConfig();
	// config.setConfigId(title);
	config.setTitle(title);
	config.setDescription(description);
	config.setVersion(version);
	config.setContact(contact);
	config.setSchemes(schemes.split(","));
	config.setBasePath(basePath);
	config.setResourcePackage(resourcePackage);
	config.setPrettyPrint(prettyPrint);
	config.setScan(scan);	
}
 
Example 4
Source File: ControllerAdminApiApplication.java    From incubator-pinot with Apache License 2.0 6 votes vote down vote up
private void setupSwagger(HttpServer httpServer, boolean advertiseHttps) {
  BeanConfig beanConfig = new BeanConfig();
  beanConfig.setTitle("Pinot Controller API");
  beanConfig.setDescription("APIs for accessing Pinot Controller information");
  beanConfig.setContact("https://github.com/apache/incubator-pinot");
  beanConfig.setVersion("1.0");
  if (advertiseHttps) {
    beanConfig.setSchemes(new String[]{"https"});
  } else {
    beanConfig.setSchemes(new String[]{"http"});
  }
  beanConfig.setBasePath("/");
  beanConfig.setResourcePackage(RESOURCE_PACKAGE);
  beanConfig.setScan(true);

  ClassLoader loader = this.getClass().getClassLoader();
  CLStaticHttpHandler apiStaticHttpHandler = new CLStaticHttpHandler(loader, "/api/");
  // map both /api and /help to swagger docs. /api because it looks nice. /help for backward compatibility
  httpServer.getServerConfiguration().addHttpHandler(apiStaticHttpHandler, "/api/");
  httpServer.getServerConfiguration().addHttpHandler(apiStaticHttpHandler, "/help/");

  URL swaggerDistLocation = loader.getResource("META-INF/resources/webjars/swagger-ui/2.2.2/");
  CLStaticHttpHandler swaggerDist = new CLStaticHttpHandler(new URLClassLoader(new URL[]{swaggerDistLocation}));
  httpServer.getServerConfiguration().addHttpHandler(swaggerDist, "/swaggerui-dist/");
}
 
Example 5
Source File: MainApplication.java    From SciGraph with Apache License 2.0 6 votes vote down vote up
/***
 * The context path must be set before configuring swagger
 * @param environment
 */
void configureSwagger(Environment environment, String basePath) {
  environment.jersey().register(new ApiListingResource());
  environment.jersey().register(new SwaggerJsonBareService());
  environment.jersey().register(new SwaggerSerializers());
  ScannerFactory.setScanner(new DefaultJaxrsScanner());
  environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
  BeanConfig config = new BeanConfig();

  // api specific configuration
  config.setTitle("SciGraph");
  config.setVersion("1.0.1");
  config.setResourcePackage("io.scigraph.services.resources");
  config.setScan(true);
  // TODO: Fix this so the swagger client generator can work correctly
  config.setBasePath("/" + basePath);
}
 
Example 6
Source File: EndpointConfig.java    From cloudbreak with Apache License 2.0 5 votes vote down vote up
@PostConstruct
private void registerSwagger() {
    BeanConfig swaggerConfig = new BeanConfig();
    swaggerConfig.setTitle("Datalake API");
    swaggerConfig.setDescription("");
    swaggerConfig.setVersion(applicationVersion);
    swaggerConfig.setSchemes(new String[]{"http", "https"});
    swaggerConfig.setBasePath(SdxApi.API_ROOT_CONTEXT);
    swaggerConfig.setLicenseUrl("https://github.com/sequenceiq/cloudbreak/blob/master/LICENSE");
    swaggerConfig.setResourcePackage("com.sequenceiq.sdx.api,com.sequenceiq.flow.api,com.sequenceiq.authorization");
    swaggerConfig.setScan(true);
    swaggerConfig.setContact("https://hortonworks.com/contact-sales/");
    swaggerConfig.setPrettyPrint(true);
    SwaggerConfigLocator.getInstance().putConfig(SwaggerContextService.CONFIG_ID_DEFAULT, swaggerConfig);
}
 
Example 7
Source File: DeviceHiveAuthApplication.java    From devicehive-java-server with Apache License 2.0 5 votes vote down vote up
@Bean
@Lazy(false)
public BeanConfig swaggerConfig(@Value("${server.context-path}") String contextPath,
                                @Value("${build.version}") String buildVersion) {

    String basePath = contextPath.equals("/") ? JerseyConfig.REST_PATH : contextPath + JerseyConfig.REST_PATH;
    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setTitle("Device Hive REST API");
    beanConfig.setVersion(buildVersion);
    beanConfig.setBasePath(basePath);
    beanConfig.setResourcePackage("com.devicehive.resource");
    beanConfig.setScan(true);
    return beanConfig;
}
 
Example 8
Source File: SwaggerActivator.java    From ARCHIVE-wildfly-swarm with Apache License 2.0 5 votes vote down vote up
@Override
public void activate(ServiceActivatorContext serviceActivatorContext) throws ServiceRegistryException {

    InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(SwaggerArchive.SWAGGER_CONFIGURATION_PATH);

    if (in == null) {
        // No config available. Print a warning and return
        System.err.println("WARN: No swagger configuration found. Swagger not activated.");
        return;
    }
    SwaggerConfig config = new SwaggerConfig(in);

    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setHost((String) config.get(SwaggerConfig.Key.HOST));
    beanConfig.setLicense((String) config.get(SwaggerConfig.Key.LICENSE));
    beanConfig.setLicenseUrl((String) config.get(SwaggerConfig.Key.LICENSE_URL));
    beanConfig.setTermsOfServiceUrl((String) config.get(SwaggerConfig.Key.TERMS_OF_SERVICE_URL));
    beanConfig.setResourcePackage((String) config.get(SwaggerConfig.Key.PACKAGES));
    beanConfig.setVersion((String) config.get(SwaggerConfig.Key.VERSION));
    beanConfig.setBasePath((String) config.get(SwaggerConfig.Key.ROOT));
    beanConfig.setContact((String) config.get(SwaggerConfig.Key.CONTACT));
    beanConfig.setDescription((String) config.get(SwaggerConfig.Key.DESCRIPTION));
    beanConfig.setTitle((String) config.get(SwaggerConfig.Key.TITLE));
    beanConfig.setPrettyPrint((String) config.get(SwaggerConfig.Key.PRETTY_PRINT));
    beanConfig.setSchemes((String[]) config.get(SwaggerConfig.Key.SCHEMES));

    beanConfig.setScan(true);

}
 
Example 9
Source File: ServerModule.java    From digdag with Apache License 2.0 5 votes vote down vote up
protected void enableSwagger(ApplicationBindingBuilder builder) {
    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setTitle("Digdag");
    beanConfig.setDescription("Digdag server API");
    beanConfig.setVersion(DigdagVersion.buildVersion().toString());
    beanConfig.setResourcePackage(VersionResource.class.getPackage().getName());
    beanConfig.setScan();

    builder.addProvider(SwaggerSerializers.class)
            .addProvider(CorsFilter.class)
            .addResources(SwaggerApiListingResource.class);
    logger.info("swagger api enabled on: /api/swagger.{json,yaml}");
}
 
Example 10
Source File: ServiceApp.java    From eagle with Apache License 2.0 5 votes vote down vote up
@Override
public void run(AlertDropWizardConfiguration configuration, Environment environment) throws Exception {
    if (StringUtils.isNotEmpty(configuration.getApplicationConfPath())) {
        // setup config if given
        System.setProperty("config.resource", configuration.getApplicationConfPath());
        ConfigFactory.invalidateCaches();
        ConfigFactory.load();
    }

    environment.getApplicationContext().setContextPath("/rest");
    environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);

    environment.jersey().register(MetadataResource.class);
    environment.jersey().register(CoordinatorResource.class);

    // swagger resources
    environment.jersey().register(new ApiListingResource());
    BeanConfig swaggerConfig = new BeanConfig();
    swaggerConfig.setTitle("Alert engine service: metadata and coordinator");
    swaggerConfig.setVersion("v1.2");
    swaggerConfig.setBasePath("/rest");
    swaggerConfig
        .setResourcePackage("org.apache.eagle.alert.coordinator.resource,org.apache.eagle.service.metadata.resource");
    swaggerConfig.setScan(true);

    // simple CORS filter
    environment.servlets().addFilter("corsFilter", new SimpleCORSFiler())
        .addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*");

    // context listener
    environment.servlets().addServletListeners(new CoordinatorListener());
}
 
Example 11
Source File: SwaggerConfig.java    From cloudbreak with Apache License 2.0 5 votes vote down vote up
@PostConstruct
private void registerSwagger() {
    BeanConfig swaggerConfig = new BeanConfig();
    swaggerConfig.setTitle("Redbeams API");
    swaggerConfig.setDescription("API for working with databases and database servers");
    swaggerConfig.setVersion(applicationVersion);
    swaggerConfig.setSchemes(new String[]{"http", "https"});
    swaggerConfig.setBasePath(contextPath + RedbeamsApi.API_ROOT_CONTEXT);
    swaggerConfig.setLicenseUrl("https://github.com/sequenceiq/cloudbreak/blob/master/LICENSE");
    swaggerConfig.setResourcePackage("com.sequenceiq.redbeams.api,com.sequenceiq.flow.api,com.sequenceiq.authorization");
    swaggerConfig.setScan(true);
    swaggerConfig.setContact("https://hortonworks.com/contact-sales/");
    swaggerConfig.setPrettyPrint(true);
    SwaggerConfigLocator.getInstance().putConfig(SwaggerContextService.CONFIG_ID_DEFAULT, swaggerConfig);
}
 
Example 12
Source File: EndpointConfig.java    From cloudbreak with Apache License 2.0 5 votes vote down vote up
private void registerSwagger() {
    BeanConfig swaggerConfig = new BeanConfig();
    swaggerConfig.setTitle("Environment API");
    swaggerConfig.setDescription("Environment operation related API.");
    swaggerConfig.setVersion(applicationVersion);
    swaggerConfig.setSchemes(new String[]{"http", "https"});
    swaggerConfig.setBasePath(EnvironmentApi.API_ROOT_CONTEXT);
    swaggerConfig.setLicenseUrl("https://github.com/sequenceiq/cloudbreak/blob/master/LICENSE");
    swaggerConfig.setResourcePackage("com.sequenceiq.environment.api,com.sequenceiq.flow.api,com.sequenceiq.authorization");
    swaggerConfig.setScan(true);
    swaggerConfig.setContact("https://hortonworks.com/contact-sales/");
    swaggerConfig.setPrettyPrint(true);
    SwaggerConfigLocator.getInstance().putConfig(SwaggerContextService.CONFIG_ID_DEFAULT, swaggerConfig);
}
 
Example 13
Source File: SwaggerServletContextListener.java    From EDDI with Apache License 2.0 5 votes vote down vote up
private BeanConfig getBeanConfig() {
    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setHost(getConfig("swagger.host"));
    beanConfig.setSchemes(getConfig("swagger.schemes").split(","));
    beanConfig.setTitle(getConfig("swagger.title"));
    beanConfig.setVersion(getConfig("swagger.version"));
    beanConfig.setContact(getConfig("swagger.contact"));
    beanConfig.setLicense(getConfig("swagger.license"));
    beanConfig.setBasePath(getConfig("swagger.base_path"));
    beanConfig.setLicenseUrl(getConfig("swagger.licenseUrl"));
    beanConfig.setDescription(getConfig("swagger.description"));
    beanConfig.setPrettyPrint(getConfig("swagger.pretty_print"));
    beanConfig.setTermsOfServiceUrl(getConfig("swagger.terms_of_service_url"));

    // Must be called last
    beanConfig.setResourcePackage(resourcePackages());
    beanConfig.setScan(true);

    Swagger swagger = beanConfig.getSwagger();

    if ("basic".equals(getConfig("webServer.securityHandlerType"))) {
        swagger.securityDefinition("eddi_auth", new BasicAuthDefinition());
    } else if ("keycloak".equals(getConfig("webServer.securityHandlerType"))) {
        OAuth2Definition oAuth2Definition = new OAuth2Definition()
                .implicit(getConfig("swagger.oauth2.implicitAuthorizationUrl"));
        oAuth2Definition.setDescription("client_id is 'eddi-engine'");
        swagger.securityDefinition("eddi_auth", oAuth2Definition);
    }

    return beanConfig;
}
 
Example 14
Source File: SwaggerListener.java    From hola with Apache License 2.0 5 votes vote down vote up
@Override
public void contextInitialized(ServletContextEvent sce) {
    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setVersion("1.0.0");
    beanConfig.setSchemes(new String[] { "http" });
    beanConfig.setTitle("Hola microservices REST API");
    beanConfig.setDescription("Operations that can be invoked in the hola microservices");
    beanConfig.setResourcePackage("com.redhat.developers.msa.hola");
    beanConfig.setLicense("Apache 2.0");
    beanConfig.setLicenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html");
    beanConfig.setContact("[email protected]");
    beanConfig.setBasePath("/api");
    beanConfig.setPrettyPrint(true);
    beanConfig.setScan(true);
}
 
Example 15
Source File: ManagementApplication.java    From graviteeio-access-management with Apache License 2.0 5 votes vote down vote up
public ManagementApplication() {

        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion(Version.RUNTIME_VERSION.MAJOR_VERSION);
        beanConfig.setResourcePackage("io.gravitee.am.management.handlers.management.api.resources");
        beanConfig.setTitle("Gravitee.io - Access Management API");
        beanConfig.setBasePath("/management");
        beanConfig.setScan(true);

        register(OrganizationsResource.class);
        register(PlatformResource.class);
        register(CurrentUserResource.class);

        register(ObjectMapperResolver.class);
        register(ManagementExceptionMapper.class);
        register(UnrecognizedPropertyExceptionMapper.class);
        register(ThrowableMapper.class);
        register(ClientErrorExceptionMapper.class);
        register(Oauth2ExceptionMapper.class);
        register(ValidationExceptionMapper.class);
        register(JsonMappingExceptionMapper.class);
        register(WebApplicationExceptionMapper.class);

        register(UriBuilderRequestFilter.class);
        register(ByteArrayOutputStreamWriter.class);

        register(ApiListingResource.class);
        register(SwaggerSerializers.class);

        property(ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);
    }
 
Example 16
Source File: InventoryItemApi.java    From cqrs-eventsourcing-kafka with Apache License 2.0 5 votes vote down vote up
private void configureSwagger(Environment environment) {
    BeanConfig config = new BeanConfig();
    config.setTitle("Inventory Item API");
    config.setVersion("1.0.0");
    config.setResourcePackage(InventoryItemResource.class.getPackage().getName());
    config.setScan(true);

    FilterRegistration.Dynamic filter = environment.servlets().addFilter("CORSFilter", CrossOriginFilter.class);
    filter.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, environment.getApplicationContext().getContextPath() + "swagger.json");
    filter.setInitParameter(ALLOWED_METHODS_PARAM, "GET,OPTIONS");
    filter.setInitParameter(ALLOWED_HEADERS_PARAM, "Origin, Content-Type, Accept");
    filter.setInitParameter(ALLOWED_ORIGINS_PARAM, "*");
    filter.setInitParameter(ALLOW_CREDENTIALS_PARAM, "true");
}
 
Example 17
Source File: EndpointConfig.java    From cloudbreak with Apache License 2.0 5 votes vote down vote up
private void registerSwagger() throws IOException {
    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setTitle("Auto-scaling API");
    beanConfig.setDescription(FileReaderUtils.readFileFromClasspath("swagger/auto-scaling-introduction"));
    beanConfig.setVersion(applicationVersion);
    beanConfig.setSchemes(new String[]{"http", "https"});
    beanConfig.setBasePath(AutoscaleApi.API_ROOT_CONTEXT);
    beanConfig.setLicenseUrl("https://github.com/sequenceiq/cloudbreak/blob/master/LICENSE");
    beanConfig.setResourcePackage("com.sequenceiq.periscope.api,com.sequenceiq.authorization");
    beanConfig.setScan(true);
    beanConfig.setContact("https://hortonworks.com/contact-sales/");
    beanConfig.setPrettyPrint(true);
    SwaggerConfigLocator.getInstance().putConfig(SwaggerContextService.CONFIG_ID_DEFAULT, beanConfig);
}
 
Example 18
Source File: ApiManagerApplication.java    From apiman with Apache License 2.0 5 votes vote down vote up
/**
 * Constructor.
 */
public ApiManagerApplication() {
    //add swagger 2.0 config
    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setVersion(new Version().getVersionString());
    beanConfig.setBasePath("/apiman"); //$NON-NLS-1$
    beanConfig.setResourcePackage("io.apiman.manager.api.rest"); //$NON-NLS-1$
    beanConfig.setTitle("API Manager REST API");
    beanConfig.setDescription("The API Manager REST API is used by the API Manager UI to get stuff done. You can use it to automate any API Management task you wish. For example, create new Organizations, Plans, Clients, and APIs.");
    beanConfig.setScan(true);

    classes.add(SystemResourceImpl.class);
    classes.add(SearchResourceImpl.class);
    classes.add(RoleResourceImpl.class);
    classes.add(UserResourceImpl.class);
    classes.add(OrganizationResourceImpl.class);
    classes.add(PolicyDefinitionResourceImpl.class);
    classes.add(GatewayResourceImpl.class);
    classes.add(PluginResourceImpl.class);
    classes.add(ActionResourceImpl.class);
    classes.add(DownloadResourceImpl.class);

    //add swagger 2.0 resource
    classes.add(io.swagger.jaxrs.listing.ApiListingResource.class);
    classes.add(io.swagger.jaxrs.listing.SwaggerSerializers.class);

    classes.add(RestExceptionMapper.class);
}
 
Example 19
Source File: SwaggerModule.java    From act-platform with ISC License 5 votes vote down vote up
@Override
protected void configure() {
  BeanConfig beanConfig = new BeanConfig();
  beanConfig.setBasePath("/");
  beanConfig.setResourcePackage(API_PACKAGE);
  beanConfig.setScan(true);

  SwaggerModelTransformer transformer = SwaggerModelTransformer.builder()
          .addTransformation(new ResultContainerTransformation(ResultStash.class, "data"))
          .build();

  bind(SwaggerApiListingResource.class).in(Scopes.SINGLETON);
  bind(SwaggerSerializers.class).in(Scopes.SINGLETON);
  bind(SwaggerModelTransformer.class).toInstance(transformer);
}
 
Example 20
Source File: SwaggerParser.java    From james-project with Apache License 2.0 5 votes vote down vote up
private static BeanConfig getBeanConfig(String packageName, WebAdminConfiguration configuration) {
    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setResourcePackage(packageName);
    beanConfig.setVersion(API_DOC_VERSION);
    beanConfig.setTitle(API_DOC_TITLE);
    beanConfig.setDescription(API_DOC_DESCRIPTION);
    beanConfig.setHost(configuration.getHost() + HOST_PORT_SEPARATOR + configuration.getPort().get().getValue());
    beanConfig.setSchemes(SCHEMES);
    beanConfig.setScan(true);
    beanConfig.scanAndRead();
    return beanConfig;
}