Search in sources :

Example 1 with ConfigurationException

use of io.dropwizard.configuration.ConfigurationException in project dropwizard by dropwizard.

the class InheritedServerCommandTest method usesDefaultConfigPath.

@Test
public void usesDefaultConfigPath() throws Exception {
    class SingletonConfigurationFactory implements ConfigurationFactory {

        @Override
        public Object build(final ConfigurationSourceProvider provider, final String path) throws IOException, ConfigurationException {
            return configuration;
        }

        @Override
        public Object build() throws IOException, ConfigurationException {
            throw new AssertionError("Didn't use the default config path variable");
        }
    }
    when(configuration.getLoggingFactory()).thenReturn(mock(LoggingFactory.class));
    final Bootstrap<Configuration> bootstrap = new Bootstrap<>(application);
    bootstrap.setConfigurationFactoryFactory((klass, validator, objectMapper, propertyPrefix) -> new SingletonConfigurationFactory());
    bootstrap.addCommand(new ConfiguredCommand<Configuration>("test", "a test command") {

        @Override
        protected void run(final Bootstrap<Configuration> bootstrap, final Namespace namespace, final Configuration configuration) throws Exception {
            assertThat(namespace.getString("file")).isNotEmpty().isEqualTo("yaml/server.yml");
        }

        @Override
        protected Argument addFileArgument(final Subparser subparser) {
            return super.addFileArgument(subparser).setDefault("yaml/server.yml");
        }
    });
    final JarLocation location = mock(JarLocation.class);
    when(location.toString()).thenReturn("dw-thing.jar");
    when(location.getVersion()).thenReturn(Optional.of("1.0.0"));
    Cli cli = new Cli(location, bootstrap, System.out, System.err);
    cli.run("test");
}
Also used : LoggingFactory(io.dropwizard.logging.LoggingFactory) JarLocation(io.dropwizard.util.JarLocation) Configuration(io.dropwizard.Configuration) Argument(net.sourceforge.argparse4j.inf.Argument) Namespace(net.sourceforge.argparse4j.inf.Namespace) IOException(java.io.IOException) ConfigurationException(io.dropwizard.configuration.ConfigurationException) ConfigurationSourceProvider(io.dropwizard.configuration.ConfigurationSourceProvider) ConfigurationFactory(io.dropwizard.configuration.ConfigurationFactory) Subparser(net.sourceforge.argparse4j.inf.Subparser) Bootstrap(io.dropwizard.setup.Bootstrap) Test(org.junit.Test)

Example 2 with ConfigurationException

use of io.dropwizard.configuration.ConfigurationException in project verify-hub by alphagov.

the class FileBackedConfigDataSource method loadConfig.

@Override
public Collection<T> loadConfig() {
    Collection<T> configData = new ArrayList<>();
    final File configDirectory = new File(configuration.getDataDirectory(), dataDirectory);
    final File[] dataFiles = configDirectory.listFiles((FilenameFilter) new WildcardFileFilter("*.yml"));
    if (dataFiles == null) {
        throw ConfigValidationException.createFileReadError(configDirectory.getAbsolutePath());
    }
    for (File dataFile : dataFiles) {
        T data;
        try {
            data = configurationFactory.build(dataFile);
        } catch (IOException | ConfigurationException e) {
            throw Throwables.propagate(e);
        }
        configData.add(data);
    }
    return configData;
}
Also used : ConfigurationException(io.dropwizard.configuration.ConfigurationException) ArrayList(java.util.ArrayList) IOException(java.io.IOException) File(java.io.File) WildcardFileFilter(org.apache.commons.io.filefilter.WildcardFileFilter)

Example 3 with ConfigurationException

use of io.dropwizard.configuration.ConfigurationException in project keywhiz by square.

the class KeywhizTestRunner method createInjector.

static Injector createInjector() {
    KeywhizService service = new KeywhizService();
    Bootstrap<KeywhizConfig> bootstrap = new Bootstrap<>(service);
    service.initialize(bootstrap);
    File yamlFile = new File(Resources.getResource("keywhiz-test.yaml").getFile());
    Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
    ObjectMapper objectMapper = bootstrap.getObjectMapper().copy();
    KeywhizConfig config;
    try {
        config = new ConfigurationFactory<>(KeywhizConfig.class, validator, objectMapper, "dw").build(yamlFile);
    } catch (IOException | ConfigurationException e) {
        throw Throwables.propagate(e);
    }
    Environment environment = new Environment(service.getName(), objectMapper, validator, bootstrap.getMetricRegistry(), bootstrap.getClassLoader());
    Injector injector = Guice.createInjector(new ServiceModule(config, environment));
    service.setInjector(injector);
    return injector;
}
Also used : IOException(java.io.IOException) ConfigurationException(io.dropwizard.configuration.ConfigurationException) Injector(com.google.inject.Injector) ConfigurationFactory(io.dropwizard.configuration.ConfigurationFactory) Bootstrap(io.dropwizard.setup.Bootstrap) Environment(io.dropwizard.setup.Environment) File(java.io.File) Validator(javax.validation.Validator) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)

Aggregations

ConfigurationException (io.dropwizard.configuration.ConfigurationException)3 IOException (java.io.IOException)3 ConfigurationFactory (io.dropwizard.configuration.ConfigurationFactory)2 Bootstrap (io.dropwizard.setup.Bootstrap)2 File (java.io.File)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 Injector (com.google.inject.Injector)1 Configuration (io.dropwizard.Configuration)1 ConfigurationSourceProvider (io.dropwizard.configuration.ConfigurationSourceProvider)1 LoggingFactory (io.dropwizard.logging.LoggingFactory)1 Environment (io.dropwizard.setup.Environment)1 JarLocation (io.dropwizard.util.JarLocation)1 ArrayList (java.util.ArrayList)1 Validator (javax.validation.Validator)1 Argument (net.sourceforge.argparse4j.inf.Argument)1 Namespace (net.sourceforge.argparse4j.inf.Namespace)1 Subparser (net.sourceforge.argparse4j.inf.Subparser)1 WildcardFileFilter (org.apache.commons.io.filefilter.WildcardFileFilter)1 Test (org.junit.Test)1