@Override protected void run(Bootstrap<HelloWorldConfiguration> bootstrap, Namespace namespace, HelloWorldConfiguration configuration) throws Exception { final Template template = configuration.buildTemplate(); if (namespace.getBoolean("include-default")) { LOGGER.info("DEFAULT => {}", template.render(Optional.empty())); } for (String name : namespace.<String>getList("names")) { for (int i = 0; i < 1000; i++) { LOGGER.info("{} => {}", name, template.render(Optional.of(name))); Thread.sleep(1000); } } } }
@Override public DataSourceFactory getDataSourceFactory(HelloWorldConfiguration configuration) { return configuration.getDataSourceFactory(); } });
@Override public Map<String, Map<String, String>> getViewConfiguration(HelloWorldConfiguration configuration) { return configuration.getViewRendererConfiguration(); } });
@Override public void run(HelloWorldConfiguration configuration, Environment environment) throws Exception { final Consul consul = configuration.getConsulFactory().build(); final RibbonJerseyClient loadBalancingClient = new RibbonJerseyClientBuilder(environment, consul, configuration.getClient()) .build("hello-world"); final HelloWorldResource resource = new HelloWorldResource( consul, loadBalancingClient, configuration.getTemplate(), configuration.getDefaultName()); environment.jersey().register(resource); } }
@Override public void run(HelloWorldConfiguration configuration, Environment environment) throws Exception { // Enable CORS to allow GraphiQL on a separate port to reach the API final FilterRegistration.Dynamic cors = environment.servlets().addFilter("cors", CrossOriginFilter.class); cors.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); final HelloWorldResource resource = new HelloWorldResource(configuration.getTemplate(), configuration.getDefaultName()); environment.jersey().register(resource); }
@Override public void run(HelloWorldConfiguration configuration, Environment environment) throws Exception { final Optional<HttpTracing> tracing = configuration.getZipkinFactory().build(environment); final Client client; if (tracing.isPresent()) { client = new ZipkinClientBuilder(environment, tracing.get()) .build(configuration.getZipkinClient()); } else { final ZipkinClientConfiguration clientConfig = configuration.getZipkinClient(); client = new JerseyClientBuilder(environment) .using(clientConfig) .build(clientConfig.getServiceName()); } // Register resources final HelloWorldResource resource = new HelloWorldResource(client); environment.jersey().register(resource); } }
@Override public ZipkinFactory getZipkinFactory(HelloWorldConfiguration configuration) { return configuration.getZipkinFactory(); } });
@Override public ConsulFactory getConsulFactory(HelloWorldConfiguration configuration) { return configuration.getConsulFactory(); } });
@Override public GraphQLFactory getGraphQLFactory(HelloWorldConfiguration configuration) { final GraphQLFactory factory = configuration.getGraphQLFactory(); // the RuntimeWiring must be configured prior to the run() // methods being called so the schema is connected properly. factory.setRuntimeWiring(buildWiring(configuration)); return factory; } };
private static RuntimeWiring buildWiring(HelloWorldConfiguration configuration) { final SayingDataFetcher fetcher = new SayingDataFetcher(configuration.getTemplate(), configuration.getDefaultName()); final RuntimeWiring wiring = RuntimeWiring.newRuntimeWiring() .type("Query", typeWiring -> typeWiring.dataFetcher("saying", fetcher)) .build(); return wiring; } }
@Override public DataSourceFactory getDataSourceFactory(HelloWorldConfiguration configuration) { return configuration.getDataSourceFactory(); } };
@Override public void run(HelloWorldConfiguration configuration, Environment environment) { final PersonDAO dao = new PersonDAO(hibernateBundle.getSessionFactory()); final Template template = configuration.buildTemplate(); environment.healthChecks().register("template", new TemplateHealthCheck(template)); environment.admin().addTask(new EchoTask()); environment.jersey().register(DateRequiredFeature.class); environment.jersey().register(new AuthDynamicFeature(new BasicCredentialAuthFilter.Builder<User>() .setAuthenticator(new ExampleAuthenticator()) .setAuthorizer(new ExampleAuthorizer()) .setRealm("SUPER SECRET STUFF") .buildAuthFilter())); environment.jersey().register(new AuthValueFactoryProvider.Binder<>(User.class)); environment.jersey().register(RolesAllowedDynamicFeature.class); environment.jersey().register(new HelloWorldResource(template)); environment.jersey().register(new ViewResource()); environment.jersey().register(new ProtectedResource()); environment.jersey().register(new PeopleResource(dao)); environment.jersey().register(new PersonResource(dao)); environment.jersey().register(new FilteredResource()); } }
@Override public Map<String, Map<String, String>> getViewConfiguration(HelloWorldConfiguration configuration) { return configuration.getViewRendererConfiguration(); } });
@Override public DataSourceFactory getDataSourceFactory(HelloWorldConfiguration configuration) { return configuration.getDataSourceFactory(); } };
@Override protected void run(Bootstrap<HelloWorldConfiguration> bootstrap, Namespace namespace, HelloWorldConfiguration configuration) throws Exception { final Template template = configuration.buildTemplate(); if (namespace.getBoolean("include-default")) { LOGGER.info("DEFAULT => {}", template.render(Optional.<String>empty())); } for (String name : namespace.<String>getList("names")) { for (int i = 0; i < 1000; i++) { LOGGER.info("{} => {}", name, template.render(Optional.of(name))); Thread.sleep(1000); } } } }
@Override public DataSourceFactory getDataSourceFactory(HelloWorldConfiguration configuration) { return configuration.getDataSourceFactory(); } });
@Override public void run(HelloWorldConfiguration configuration, Environment environment) { final PersonDAO dao = new PersonDAO(hibernateBundle.getSessionFactory()); final Template template = configuration.buildTemplate(); environment.healthChecks().register("template", new TemplateHealthCheck(template)); environment.jersey().register(DateRequiredFeature.class); environment.jersey().register(new AuthDynamicFeature(new BasicCredentialAuthFilter.Builder<User>() .setAuthenticator(new ExampleAuthenticator()) .setAuthorizer(new ExampleAuthorizer()) .setRealm("SUPER SECRET STUFF") .buildAuthFilter())); environment.jersey().register(new AuthValueFactoryProvider.Binder<>(User.class)); environment.jersey().register(RolesAllowedDynamicFeature.class); environment.jersey().register(new HelloWorldResource(template)); environment.jersey().register(new ViewResource()); environment.jersey().register(new ProtectedResource()); environment.jersey().register(new PeopleResource(dao)); environment.jersey().register(new PersonResource(dao)); environment.jersey().register(new FilteredResource()); } }