Example usage for org.apache.commons.configuration MapConfiguration MapConfiguration

List of usage examples for org.apache.commons.configuration MapConfiguration MapConfiguration

Introduction

In this page you can find the example usage for org.apache.commons.configuration MapConfiguration MapConfiguration.

Prototype

public MapConfiguration(Map map) 

Source Link

Document

Create a Configuration decorator around the specified Map.

Usage

From source file:com.nesscomputing.testing.IntegrationTestRuleBuilder.java

@SuppressWarnings("deprecation")
private void addServiceDefinitions(final Map<String, ServiceDefinition> serviceDefinitions,
        final Map<String, String> serviceConfigTweaks, final Map<String, Module> serviceModules) {
    for (final Map.Entry<String, ServiceDefinition> entry : serviceDefinitions.entrySet()) {
        // Reality is that this is the service configuration minus what a service definition might add as local tweaks
        // for a named service. So the instance of the named service might run with a slightly different config
        // than all the services that are also in the injector, because ServiceDefinition has no API to expose these
        // tweaks to the other services.
        ///*w w w .  j av a2s .c  o m*/
        // That is an actual problem and the reason why ServiceDefinition does not work.
        //
        // For services defined through a ServiceDefinition, always use the baseConfig, because there is no way to register
        // such a service with its specific configuration. The usual way around this is that the service definition was supplied
        // a service specific configuration through other means. So the service runs a very different configuration than all its
        // additional services around it.
        //
        // That is an actual problem and another reason why ServiceDefinition does not work.
        //
        final Config serviceConfig = Config.getOverriddenConfig(baseConfig,
                new MapConfiguration(serviceConfigTweaks));

        final Module serviceModule = new Module() {
            @Override
            public void configure(final Binder binder) {
                // This allows us to later ask an injector what it is named.
                binder.bindConstant().annotatedWith(Names.named("SERVICE")).to(entry.getKey());

                for (TweakedModule tweakedModule : tweakedModules) {
                    binder.install(tweakedModule.getServiceModule(serviceConfig));
                }

                binder.install(new ConfigModule(serviceConfig));

                binder.install(entry.getValue().getModule(serviceConfigTweaks));
            }
        };

        serviceModules.put(entry.getKey(), serviceModule);
    }
}

From source file:com.nesscomputing.testing.IntegrationTestRuleBuilder.java

private void addServiceModules(final Map<String, TweakedModule> serviceDefinitions, // NOPMD -- now why the fsck is that needed here? This method is used just fine.
        final Map<String, String> serviceConfigTweaks, final Map<String, Module> serviceModules) {
    for (final Map.Entry<String, TweakedModule> entry : serviceDefinitions.entrySet()) {

        // A tweaked service can be registered with its own configuration. Use that as the base for all the service
        // tweaks if present, otherwise use the base configuration.
        final Config serviceBaseConfig = serviceConfigs.containsKey(entry.getKey())
                ? serviceConfigs.get(entry.getKey())
                : baseConfig;//w  w w  . ja  v a  2  s. co m

        final Config serviceConfig = Config.getOverriddenConfig(serviceBaseConfig,
                new MapConfiguration(serviceConfigTweaks),
                new MapConfiguration(entry.getValue().getServiceConfigTweaks()));

        final Module serviceModule = new Module() {
            @Override
            public void configure(final Binder binder) {
                // This allows us to later ask an injector what it is named.
                binder.bindConstant().annotatedWith(Names.named("SERVICE")).to(entry.getKey());

                for (TweakedModule tweakedModule : tweakedModules) {
                    binder.install(tweakedModule.getServiceModule(serviceConfig));
                }

                binder.install(new ConfigModule(serviceConfig));

                binder.install(entry.getValue().getServiceModule(serviceConfig));
            }
        };

        serviceModules.put(entry.getKey(), serviceModule);
    }
}

From source file:com.comcast.viper.flume2storm.IntegrationTest.java

/**
 * Integration test with the Dynamic Location Service and the KryoNet
 * Connection API// ww w  . java  2  s  . co  m
 * 
 * @throws Exception
 *           If anything went wrong
 */
@Test
public void staticLocationService_KryoNet() throws Exception {
    //
    // Flume Configuration
    //

    // Base storm sink configuration
    BaseConfiguration sinkBaseConfig = new BaseConfiguration();
    sinkBaseConfig.addProperty(StormSinkConfiguration.LOCATION_SERVICE_FACTORY_CLASS,
            StaticLocationServiceFactory.class.getName());
    sinkBaseConfig.addProperty(StormSinkConfiguration.SERVICE_PROVIDER_SERIALIZATION_CLASS,
            KryoNetServiceProviderSerialization.class.getName());
    sinkBaseConfig.addProperty(StormSinkConfiguration.EVENT_SENDER_FACTORY_CLASS,
            KryoNetEventSenderFactory.class.getName());
    sinkBaseConfig.addProperty(StormSinkConfiguration.CONNECTION_PARAMETERS_FACTORY_CLASS,
            KryoNetConnectionParametersFactory.class.getName());

    // Location Service configuration
    BaseConfiguration flumeLocationServiceConfig = new BaseConfiguration();
    flumeLocationServiceConfig.addProperty(StaticLocationServiceConfiguration.CONFIGURATION_LOADER_CLASS,
            KryoNetServiceProvidersLoader.class.getName());

    // First storm sink configuration
    int sink1Port = TestUtils.getAvailablePort();
    BaseConfiguration sink1ConnectionParameters = new BaseConfiguration();
    sink1ConnectionParameters.addProperty(KryoNetConnectionParameters.ADDRESS,
            KryoNetConnectionParameters.ADDRESS_DEFAULT);
    sink1ConnectionParameters.addProperty(KryoNetConnectionParameters.PORT, sink1Port);
    CombinedConfiguration sink1Config = new CombinedConfiguration();
    sink1Config.addConfiguration(sinkBaseConfig);
    sink1Config.addConfiguration(sink1ConnectionParameters, "connectionParams",
            KryoNetConnectionParametersFactory.CONFIG_BASE_NAME);
    sink1Config.addConfiguration(flumeLocationServiceConfig, "Location Service Configuration",
            StaticLocationServiceFactory.CONFIG_BASE_NAME);
    config.addConfiguration(sink1Config, SINK1_CONFIG);

    // Second storm sink configuration
    int sink2Port = TestUtils.getAvailablePort();
    BaseConfiguration sink2ConnectionParameters = new BaseConfiguration();
    sink2ConnectionParameters.addProperty(KryoNetConnectionParameters.ADDRESS,
            KryoNetConnectionParameters.ADDRESS_DEFAULT);
    sink2ConnectionParameters.addProperty(KryoNetConnectionParameters.PORT, sink2Port);
    CombinedConfiguration sink2Config = new CombinedConfiguration();
    sink2Config.addConfiguration(sinkBaseConfig);
    sink2Config.addConfiguration(sink2ConnectionParameters, "connectionParams",
            KryoNetConnectionParametersFactory.CONFIG_BASE_NAME);
    sink2Config.addConfiguration(flumeLocationServiceConfig, "Location Service Configuration",
            StaticLocationServiceFactory.CONFIG_BASE_NAME);
    config.addConfiguration(sink2Config, SINK2_CONFIG);

    //
    // Storm Configuration
    //

    String sp1Id = "sp1Id";
    String sp2Id = "sp2Id";
    BaseConfiguration stormLocationServiceBaseConfig = new BaseConfiguration();
    stormLocationServiceBaseConfig.addProperty(StaticLocationServiceConfiguration.CONFIGURATION_LOADER_CLASS,
            KryoNetServiceProvidersLoader.class.getName());
    stormLocationServiceBaseConfig.addProperty(StaticLocationServiceConfiguration.SERVICE_PROVIDER_LIST,
            StringUtils.join(sp1Id, StaticLocationServiceConfiguration.SERVICE_PROVIDER_LIST_SEPARATOR, sp2Id));
    BaseConfiguration stormLocationServiceSink1Config = new BaseConfiguration();
    stormLocationServiceSink1Config.addProperty(KryoNetConnectionParameters.ADDRESS,
            KryoNetConnectionParameters.ADDRESS_DEFAULT);
    stormLocationServiceSink1Config.addProperty(KryoNetConnectionParameters.PORT, sink1Port);
    BaseConfiguration stormLocationServiceSink2Config = new BaseConfiguration();
    stormLocationServiceSink2Config.addProperty(KryoNetConnectionParameters.ADDRESS,
            KryoNetConnectionParameters.ADDRESS_DEFAULT);
    stormLocationServiceSink2Config.addProperty(KryoNetConnectionParameters.PORT, sink2Port);
    CombinedConfiguration stormLocationServiceConfig = new CombinedConfiguration();
    stormLocationServiceConfig.addConfiguration(stormLocationServiceBaseConfig);
    stormLocationServiceConfig.addConfiguration(stormLocationServiceSink1Config, "sink1",
            StringUtils.join(StaticLocationServiceConfiguration.SERVICE_PROVIDER_BASE_DEFAULT, ".", sp1Id));
    stormLocationServiceConfig.addConfiguration(stormLocationServiceSink2Config, "sink2",
            StringUtils.join(StaticLocationServiceConfiguration.SERVICE_PROVIDER_BASE_DEFAULT, ".", sp2Id));

    // Global KryoNet configuration
    MapConfiguration kryoConfig = new MapConfiguration(new HashMap<String, Object>());
    kryoConfig.addProperty(KryoNetParameters.CONNECTION_TIMEOUT, 500);
    kryoConfig.addProperty(KryoNetParameters.RECONNECTION_DELAY, 1000);
    kryoConfig.addProperty(KryoNetParameters.TERMINATION_TO, 2000);

    // Flume-spout base configuration
    CombinedConfiguration flumeSpoutBaseConfig = new CombinedConfiguration();
    flumeSpoutBaseConfig.addProperty(FlumeSpoutConfiguration.LOCATION_SERVICE_FACTORY_CLASS,
            StaticLocationServiceFactory.class.getName());
    flumeSpoutBaseConfig.addProperty(FlumeSpoutConfiguration.SERVICE_PROVIDER_SERIALIZATION_CLASS,
            KryoNetServiceProviderSerialization.class.getName());
    flumeSpoutBaseConfig.addProperty(FlumeSpoutConfiguration.EVENT_RECEPTOR_FACTORY_CLASS,
            KryoNetEventReceptorFactory.class.getName());

    // Final flume-spout configuration
    CombinedConfiguration flumeSpoutConfig = new CombinedConfiguration();
    flumeSpoutConfig.addConfiguration(flumeSpoutBaseConfig);
    flumeSpoutConfig.addConfiguration(kryoConfig, "Kryo Configuration", KryoNetParameters.CONFIG_BASE_NAME);
    flumeSpoutConfig.addConfiguration(stormLocationServiceConfig, "Location Service Configuration",
            StaticLocationServiceFactory.CONFIG_BASE_NAME);
    config.addConfiguration(flumeSpoutConfig, SPOUT_CONFIG);

    testAll();
}

From source file:com.germinus.easyconf.ComponentProperties.java

protected Object getPropertyWithFilter(String key, Filter filter, Class theClass, Object defaultValue) {
    CompositeConfiguration filteredConf = properties;
    Object value = null;/* w w w .  j  a va2 s.  co m*/
    for (int i = filter.numOfSelectors(); (i >= 0) && (value == null); i--) {
        MapConfiguration varsConf = null;
        if (filter.hasVariables()) {
            varsConf = new MapConfiguration(filter.getVariables());
            filteredConf = new CompositeConfiguration();
            filteredConf.addConfiguration(varsConf);
            filteredConf.addConfiguration(properties);
        }
        value = getTypedPropertyWithDefault(key + filter.getFilterSuffix(i), theClass, filteredConf, null);
        if (varsConf != null) {
            properties.removeConfiguration(varsConf);
        }
        log.debug("Value for " + key + filter.getFilterSuffix(i) + "=" + value);
    }
    if (value == null) {
        value = defaultValue;
    }
    return value;
}

From source file:com.ikanow.aleph2.graph.titan.services.TitanGraphService.java

/** Builds a Titan graph from the config bean
 * @param config/*  w  ww .  j a  v  a2s. c o m*/
 * @return
 */
protected TitanGraph setup(TitanGraphConfigBean config) {
    if (null != config.config_override()) {
        // First denest:
        final Config denested = ConfigFactory.parseMap(config.config_override());
        // Then build
        return TitanFactory.open(new MapConfiguration(denested.entrySet().stream()
                .collect(Collectors.toMap(kv -> kv.getKey(), kv -> kv.getValue().unwrapped()))));
    } else {
        final String path = Optional.of(config.config_path_name())
                .map(p -> (p.matches("^[a-zA-Z]:.*") || p.startsWith(".") || p.startsWith("/")) ? p
                        : ModuleUtils.getGlobalProperties().local_yarn_config_dir() + "/" + p)
                .get();
        return TitanFactory.open(path);
    }
}

From source file:eu.tradegrid.tinkerpop.persistor.TinkerpopPersistor.java

/**
 * Load information on the graph database to connect to from the mod.json into
 * a {@link Configuration} object needed for opening the Tinkerpop {@link Graph}.<p/>
 * //  w w  w.j a v a  2s .co  m
 * @return the graph database configuration
 */
private Configuration loadTinkerpopConfig() {
    JsonObject tinkerpopConfigJson = config.getObject("tinkerpopConfig");
    if (tinkerpopConfigJson == null) {
        throw new IllegalArgumentException("tinkerpopConfig section must be specified in config");
    }

    Configuration config = new MapConfiguration(tinkerpopConfigJson.toMap());

    return config;
}

From source file:org.apache.accumulo.core.conf.Property.java

/**
 * Gets the default value for this property. System properties are interpolated into the value if necessary.
 *
 * @return default value/*from www  . j  av a  2 s  .c o m*/
 */
public String getDefaultValue() {
    String v;
    if (isInterpolated()) {
        PropertiesConfiguration pconf = new PropertiesConfiguration();
        Properties systemProperties = System.getProperties();
        synchronized (systemProperties) {
            pconf.append(new MapConfiguration(systemProperties));
        }
        pconf.addProperty("hack_default_value", this.defaultValue);
        v = pconf.getString("hack_default_value");
    } else {
        v = getRawDefaultValue();
    }
    if (this.type == PropertyType.ABSOLUTEPATH && !(v.trim().equals("")))
        v = new File(v).getAbsolutePath();
    return v;
}

From source file:org.apache.accumulo.core.rpc.SaslConnectionParams.java

private static MapConfiguration createMapConfiguration(AccumuloConfiguration conf) {
    MapConfiguration mapConf = new MapConfiguration(getProperties(conf));
    mapConf.setListDelimiter('\0');
    return mapConf;
}

From source file:org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl.java

private static List<AbstractConfiguration> getConfigs(MiniAccumuloConfigImpl config) {
    MapConfiguration cfg = new MapConfiguration(config.getSiteConfig());
    cfg.setListDelimiter('\0');
    return Collections.<AbstractConfiguration>singletonList(cfg);
}

From source file:org.apache.hadoop.gateway.shell.ClientContext.java

private ClientContext() {
    configuration = new MapConfiguration(new HashMap<>());
    poolContext = new PoolContext(this);
    socketContext = new SocketContext(this);
    connectionContext = new ConnectionContext(this);
}