
io.paradoxical.dropwizard.guice.bundles.AdminGuiceBundle Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dropwizard-guice Show documentation
Show all versions of dropwizard-guice Show documentation
Simple library for using Guice DI in a dropwizard service forked from hubspot/dropwizard-guice.
package io.paradoxical.dropwizard.guice.bundles;
import com.google.common.base.CharMatcher;
import com.google.common.collect.ImmutableList;
import io.dropwizard.Configuration;
import io.dropwizard.setup.Environment;
import io.paradoxical.dropwizard.bundles.admin.AdminBundle;
import io.paradoxical.dropwizard.bundles.admin.AdminEnvironmentConfigurator;
import io.paradoxical.dropwizard.bundles.admin.AdminResourceEnvironment;
import io.paradoxical.dropwizard.guice.EnvironmentData;
import io.paradoxical.dropwizard.guice.GuiceEnvironmentConfiguration;
import lombok.Builder;
import lombok.NonNull;
import lombok.Singular;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nonnull;
public class AdminGuiceBundle extends GuiceBundle implements AdminEnvironmentConfigurator {
private static final CharMatcher wildcardMatcher = CharMatcher.anyOf("/*");
private static final Logger LOGGER = LoggerFactory.getLogger(AdminGuiceBundle.class);
private final AdminBundle adminBundle;
private final ImmutableList environmentConfigurators;
@Builder
public AdminGuiceBundle(
@NonNull @Nonnull final GuiceEnvironmentConfiguration guiceEnvironmentConfiguration,
@Singular("configureEnvironment")
final ImmutableList environmentConfigurators,
final String adminRootPath) {
super(guiceEnvironmentConfiguration);
this.environmentConfigurators = environmentConfigurators;
adminBundle = new AdminBundle(ImmutableList.of(this), adminRootPath);
}
@Override
public void run(final T configuration, final Environment environment) throws Exception {
adminBundle.run(configuration, environment);
}
@Override
public void configure(final Configuration configuration, final AdminResourceEnvironment adminResourceEnvironment) {
setupEnvironmentGuice(configuration, EnvironmentData.admin(adminResourceEnvironment));
environmentConfigurators.forEach(config -> config.configure(configuration, adminResourceEnvironment));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy