Example usage for org.apache.commons.configuration Configuration getKeys

List of usage examples for org.apache.commons.configuration Configuration getKeys

Introduction

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

Prototype

Iterator getKeys(String prefix);

Source Link

Document

Get the list of the keys contained in the configuration that match the specified prefix.

Usage

From source file:org.apache.whirr.InstanceTemplate.java

private static void validateThatWeHaveNoOtherOverrides(List<InstanceTemplate> templates,
        Configuration configuration) throws ConfigurationException {

    Set<String> groups = Sets
            .newHashSet(Iterables.transform(templates, new Function<InstanceTemplate, String>() {
                private final Joiner plusJoiner = Joiner.on("+");

                @Override/*from   ww  w. j a v  a  2s  .  c  o m*/
                public String apply(InstanceTemplate instance) {
                    return plusJoiner.join(instance.getRoles());
                }
            }));

    Pattern pattern = Pattern.compile("^whirr\\.templates\\.([^.]+)\\..*$");
    Iterator iterator = configuration.getKeys("whirr.templates");

    while (iterator.hasNext()) {
        String key = String.class.cast(iterator.next());
        Matcher matcher = pattern.matcher(key);

        if (matcher.find() && !groups.contains(matcher.group(1))) {
            throw new ConfigurationException(String.format(
                    "'%s' is referencing a " + "template group not present in 'whirr.instance-templates'",
                    key));
        }
    }
}

From source file:org.ff4j.commonsconf.FF4JConfigurationTest.java

@Test
public void testgetKeysNull() {
    // Given/* w  w  w .j  a  v  a 2  s. c  om*/
    InMemoryPropertyStore tmpStore = new InMemoryPropertyStore();
    Configuration tmpConf = new FF4jConfiguration(tmpStore);
    Iterator<String> propsKeys = tmpConf.getKeys("z");
    Assert.assertFalse(propsKeys.hasNext());

    tmpStore.setProperties(null);
    Assert.assertFalse(tmpConf.getKeys().hasNext());
    Assert.assertFalse(tmpConf.getKeys("z").hasNext());
}

From source file:org.hawkular.inventory.impl.tinkerpop.sql.impl.SqlGraph.java

private void setupDataSource(DataSource dataSource, Configuration configuration) throws Exception {
    BeanInfo beanInfo = Introspector.getBeanInfo(dataSource.getClass());
    PropertyDescriptor[] properties = beanInfo.getPropertyDescriptors();
    Map<String, PropertyDescriptor> propsByName = new HashMap<>();
    for (PropertyDescriptor p : properties) {
        propsByName.put(p.getName().toLowerCase(), p);
    }//from   ww  w . j a v  a 2s .c om

    Iterator it = configuration.getKeys("sql.datasource");
    while (it.hasNext()) {
        String key = (String) it.next();
        String property = key.substring("sql.datasource.".length()).toLowerCase();

        PropertyDescriptor d = propsByName.get(property);

        if (d == null) {
            continue;
        }

        Method write = d.getWriteMethod();
        if (write != null) {
            write.invoke(dataSource, configuration.getProperty(key));
        }
    }
}

From source file:org.lable.oss.dynamicconfig.core.commonsconfiguration.ConcurrentConfigurationTest.java

@Test
public void testMethodWrappers() {
    CombinedConfiguration mockConfiguration = mock(CombinedConfiguration.class);
    Configuration concurrentConfiguration = new ConcurrentConfiguration(mockConfiguration, null);

    concurrentConfiguration.subset("subset");
    concurrentConfiguration.isEmpty();// w  ww.  j  a va 2 s.  c o  m
    concurrentConfiguration.containsKey("key");
    concurrentConfiguration.getProperty("getprop");
    concurrentConfiguration.getKeys("getkeys");
    concurrentConfiguration.getKeys();
    concurrentConfiguration.getProperties("getprops");
    concurrentConfiguration.getBoolean("getboolean1");
    concurrentConfiguration.getBoolean("getboolean2", true);
    concurrentConfiguration.getBoolean("getboolean3", Boolean.FALSE);
    concurrentConfiguration.getByte("getbyte1");
    concurrentConfiguration.getByte("getbyte2", (byte) 0);
    concurrentConfiguration.getByte("getbyte3", Byte.valueOf((byte) 0));
    concurrentConfiguration.getDouble("getdouble1");
    concurrentConfiguration.getDouble("getdouble2", 0.2);
    concurrentConfiguration.getDouble("getdouble3", Double.valueOf(0.2));
    concurrentConfiguration.getFloat("getfloat1");
    concurrentConfiguration.getFloat("getfloat2", 0f);
    concurrentConfiguration.getFloat("getfloat3", Float.valueOf(0f));
    concurrentConfiguration.getInt("getint1");
    concurrentConfiguration.getInt("getint2", 0);
    concurrentConfiguration.getInteger("getint3", 0);
    concurrentConfiguration.getLong("getlong1");
    concurrentConfiguration.getLong("getlong2", 0L);
    concurrentConfiguration.getLong("getlong3", Long.valueOf(0L));
    concurrentConfiguration.getShort("getshort1");
    concurrentConfiguration.getShort("getshort2", (short) 0);
    concurrentConfiguration.getShort("getshort3", Short.valueOf((short) 0));
    concurrentConfiguration.getBigDecimal("getbigd1");
    concurrentConfiguration.getBigDecimal("getbigd2", BigDecimal.valueOf(0.4));
    concurrentConfiguration.getBigInteger("getbigi1");
    concurrentConfiguration.getBigInteger("getbigi2", BigInteger.valueOf(2L));
    concurrentConfiguration.getString("getstring1");
    concurrentConfiguration.getString("getstring2", "def");
    concurrentConfiguration.getStringArray("stringarray");
    concurrentConfiguration.getList("getlist1");
    concurrentConfiguration.getList("getlist2", Arrays.asList("a", "b"));

    verify(mockConfiguration, times(1)).subset("subset");
    verify(mockConfiguration, times(1)).isEmpty();
    verify(mockConfiguration, times(1)).containsKey("key");
    verify(mockConfiguration, times(1)).getProperty("getprop");
    verify(mockConfiguration, times(1)).getKeys("getkeys");
    verify(mockConfiguration, times(1)).getKeys();
    verify(mockConfiguration, times(1)).getProperties("getprops");
    verify(mockConfiguration, times(1)).getBoolean("getboolean1");
    verify(mockConfiguration, times(1)).getBoolean("getboolean2", true);
    verify(mockConfiguration, times(1)).getBoolean("getboolean3", Boolean.FALSE);
    verify(mockConfiguration, times(1)).getByte("getbyte1");
    verify(mockConfiguration, times(1)).getByte("getbyte2", (byte) 0);
    verify(mockConfiguration, times(1)).getByte("getbyte3", Byte.valueOf((byte) 0));
    verify(mockConfiguration, times(1)).getDouble("getdouble1");
    verify(mockConfiguration, times(1)).getDouble("getdouble2", 0.2);
    verify(mockConfiguration, times(1)).getDouble("getdouble3", Double.valueOf(0.2));
    verify(mockConfiguration, times(1)).getFloat("getfloat1");
    verify(mockConfiguration, times(1)).getFloat("getfloat2", 0f);
    verify(mockConfiguration, times(1)).getFloat("getfloat3", Float.valueOf(0f));
    verify(mockConfiguration, times(1)).getInt("getint1");
    verify(mockConfiguration, times(1)).getInt("getint2", 0);
    verify(mockConfiguration, times(1)).getInteger("getint3", Integer.valueOf(0));
    verify(mockConfiguration, times(1)).getLong("getlong1");
    verify(mockConfiguration, times(1)).getLong("getlong2", 0L);
    verify(mockConfiguration, times(1)).getLong("getlong3", Long.valueOf(0L));
    verify(mockConfiguration, times(1)).getShort("getshort1");
    verify(mockConfiguration, times(1)).getShort("getshort2", (short) 0);
    verify(mockConfiguration, times(1)).getShort("getshort3", Short.valueOf((short) 0));
    verify(mockConfiguration, times(1)).getBigDecimal("getbigd1");
    verify(mockConfiguration, times(1)).getBigDecimal("getbigd2", BigDecimal.valueOf(0.4));
    verify(mockConfiguration, times(1)).getBigInteger("getbigi1");
    verify(mockConfiguration, times(1)).getBigInteger("getbigi2", BigInteger.valueOf(2L));
    verify(mockConfiguration, times(1)).getString("getstring1");
    verify(mockConfiguration, times(1)).getString("getstring2", "def");
    verify(mockConfiguration, times(1)).getStringArray("stringarray");
    verify(mockConfiguration, times(1)).getList("getlist1");
    verify(mockConfiguration, times(1)).getList("getlist2", Arrays.asList("a", "b"));
}

From source file:org.roda.core.RodaCoreFactory.java

/**
 * For each role in roda-roles.properties create the role in LDAP if it don't
 * exist already./*from w  w  w.  j a  v  a  2s  .com*/
 * 
 * @param rodaConfig
 *          roda configuration
 * @throws GenericException
 *           if something unexpected happens creating roles.
 */
private static void createRoles(final Configuration rodaConfig) throws GenericException {
    final Iterator<String> keys = rodaConfig.getKeys("core.roles");
    final Set<String> roles = new HashSet<>();
    while (keys.hasNext()) {
        roles.addAll(Arrays.asList(rodaConfig.getStringArray(keys.next())));
    }
    for (final String role : roles) {
        try {
            if (StringUtils.isNotBlank(role)) {
                RodaCoreFactory.ldapUtility.addRole(role);
                LOGGER.debug("Created LDAP role {}", role);
            }
        } catch (final RoleAlreadyExistsException e) {
            LOGGER.debug("Role {} already exists.", role);
            LOGGER.trace(e.getMessage(), e);
        }
    }
}

From source file:org.rzo.yajsw.app.WrapperManagerImpl.java

/**
 * Gets the app param./*w w w  .j  a v  a 2 s  . co  m*/
 * 
 * @param config
 *            the config
 * 
 * @return the app param
 */
private String[] getAppParam(Configuration config) {
    ArrayList result = new ArrayList();
    ArrayList keys = new ArrayList();
    for (Iterator it = config.getKeys("wrapper.app.parameter"); it.hasNext();) {
        keys.add(it.next());
    }
    Collections.sort(keys, new AlphanumComparator());
    for (Iterator it = keys.listIterator(); it.hasNext();) {
        result.add(config.getString((String) it.next()));
    }
    String[] args = new String[result.size()];
    int i = 0;
    for (Iterator it = result.iterator(); it.hasNext(); i++) {
        args[i] = (String) it.next();
    }
    if (_debug) {
        System.out.println("args: ");
        for (String arg : args)
            System.out.println(arg);
    }
    return args;
}

From source file:org.seedstack.elasticsearch.internal.ElasticSearchPlugin.java

@Override
public InitState init(InitContext initContext) {
    ApplicationPlugin applicationPlugin = initContext.dependency(ApplicationPlugin.class);
    Configuration elasticSearchConfiguration = applicationPlugin.getApplication().getConfiguration()
            .subset(ELASTIC_SEARCH_PLUGIN_CONFIGURATION_PREFIX);

    String[] elasticSearchClientNames = elasticSearchConfiguration.getStringArray("clients");
    if (elasticSearchClientNames != null && elasticSearchClientNames.length > 0) {
        for (String elasticSearchClientName : elasticSearchClientNames) {
            Configuration elasticSearchClientConfiguration = elasticSearchConfiguration
                    .subset("client." + elasticSearchClientName);

            Iterator<String> it = elasticSearchClientConfiguration.getKeys("property");
            Map<String, String> propertiesMap = new HashMap<String, String>();
            while (it.hasNext()) {
                String name = it.next();
                propertiesMap.put(name.substring(9), elasticSearchClientConfiguration.getString(name));
            }//www .  j  a v a 2 s.c  o m

            if (!propertiesMap.containsKey("path.home")) {
                propertiesMap.put("path.home",
                        applicationPlugin.getApplication().getStorageLocation(
                                ElasticSearchPlugin.ELASTIC_SEARCH_STORAGE_ROOT + elasticSearchClientName)
                                .getAbsolutePath());
            }

            String[] hosts = elasticSearchClientConfiguration.getStringArray("hosts");
            if (hosts == null || hosts.length == 0) {
                LOGGER.info("Creating ElasticSearch client {} on its local node", elasticSearchClientName);

                Node node = buildLocalNode(buildSettings(propertiesMap));
                elasticSearchLocalNodes.put(elasticSearchClientName, node);
                elasticSearchClients.put(elasticSearchClientName, node.client());
            } else {
                LOGGER.info("Creating ElasticSearch client {} for remote instance at {}",
                        elasticSearchClientName, Arrays.toString(hosts));

                elasticSearchClients.put(elasticSearchClientName,
                        buildRemoteClient(buildSettings(propertiesMap), hosts));
            }
        }

    } else {
        LOGGER.info("No ElasticSearch client configured, ElasticSearch support disabled");
    }

    return InitState.INITIALIZED;
}

From source file:org.seedstack.jpa.internal.JpaPlugin.java

@Override
@SuppressWarnings("unchecked")
public InitState init(InitContext initContext) {
    TransactionPlugin transactionPlugin = initContext.dependency(TransactionPlugin.class);
    JdbcRegistry jdbcRegistry = initContext.dependency(JdbcRegistry.class);
    Application application = initContext.dependency(ApplicationPlugin.class).getApplication();
    Configuration jpaConfiguration = application.getConfiguration()
            .subset(JpaPlugin.JPA_PLUGIN_CONFIGURATION_PREFIX);

    String[] persistenceUnitNames = jpaConfiguration.getStringArray("units");

    if (persistenceUnitNames == null || persistenceUnitNames.length == 0) {
        LOGGER.info("No JPA persistence unit configured, JPA support disabled");
        return InitState.INITIALIZED;
    }//from www.  j av a  2  s .  c o m

    for (String persistenceUnit : persistenceUnitNames) {
        Configuration persistenceUnitConfiguration = jpaConfiguration.subset("unit." + persistenceUnit);
        Iterator<String> it = persistenceUnitConfiguration.getKeys("property");

        Properties properties = new Properties();
        while (it.hasNext()) {
            String name = it.next();
            properties.put(name.substring(9), persistenceUnitConfiguration.getString(name));
        }

        EntityManagerFactory emf;
        if (persistenceUnitConfiguration.containsKey("datasource")) {
            Collection<Class<?>> scannedClasses = new ArrayList<Class<?>>();
            if (initContext.scannedClassesByAnnotationClass().get(Entity.class) != null) {
                scannedClasses.addAll(initContext.scannedClassesByAnnotationClass().get(Entity.class));
            }
            if (initContext.scannedClassesByAnnotationClass().get(Embeddable.class) != null) {
                scannedClasses.addAll(initContext.scannedClassesByAnnotationClass().get(Embeddable.class));
            }

            emf = confResolver.createEntityManagerFactory(persistenceUnit, properties,
                    persistenceUnitConfiguration, application, jdbcRegistry, scannedClasses);
        } else {
            emf = confResolver.createEntityManagerFactory(persistenceUnit, properties);
        }

        entityManagerFactories.put(persistenceUnit, emf);

        String exceptionHandler = persistenceUnitConfiguration.getString("exception-handler");
        if (exceptionHandler != null && !exceptionHandler.isEmpty()) {
            try {
                exceptionHandlerClasses.put(persistenceUnit,
                        (Class<? extends JpaExceptionHandler>) Class.forName(exceptionHandler));
            } catch (Exception e) {
                throw new PluginException("Unable to load class " + exceptionHandler, e);
            }
        }
    }

    if (persistenceUnitNames.length == 1) {
        JpaTransactionMetadataResolver.defaultJpaUnit = persistenceUnitNames[0];
    }

    transactionPlugin.registerTransactionHandler(JpaTransactionHandler.class);

    return InitState.INITIALIZED;
}

From source file:org.seedstack.jpa.internal.JpaPluginTest.java

public Configuration mockConfiguration(String itemExceptionHandlerName) {
    Configuration configuration = mock(Configuration.class);
    Assertions.assertThat(configuration).isNotNull();
    when(configuration.subset(JpaPlugin.JPA_PLUGIN_CONFIGURATION_PREFIX)).thenReturn(configuration);
    when(configuration.getStringArray("units")).thenReturn(new String[] { "hsql-in-memory" });
    when(configuration.subset("unit.hsql-in-memory")).thenReturn(configuration);
    Map<String, String> properties = getProperties();
    when(configuration.getKeys("property")).thenReturn(properties.keySet().iterator());
    for (Entry<String, String> entry : properties.entrySet()) {
        when(configuration.getString(entry.getKey())).thenReturn(entry.getValue());
    }//from   w  w  w .j  a  va  2 s . c  o m
    when(configuration.getString("exception-handler")).thenReturn(itemExceptionHandlerName);
    return configuration;
}

From source file:org.seedstack.neo4j.internal.Neo4jPlugin.java

private GraphDatabaseService createEmbeddedDatabase(String name, Configuration graphDatabaseConfiguration,
        Application application) {/*from  w  ww .  j  av a  2  s  . c om*/
    String path = graphDatabaseConfiguration.getString("path");
    String propertiesURL = graphDatabaseConfiguration.getString("properties");
    File directory;

    if (path == null || path.isEmpty()) {
        directory = application.getStorageLocation(String.format("neo4j/%s", name));
    } else {
        directory = new File(path);
    }

    GraphDatabaseBuilder databaseBuilder = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(directory);

    if (propertiesURL != null && !propertiesURL.isEmpty()) {
        try {
            databaseBuilder.loadPropertiesFromURL(new URL(propertiesURL));
        } catch (MalformedURLException e) {
            throw SeedException.wrap(e, Neo4jErrorCodes.INVALID_PROPERTIES_URL).put(EXCEPTION_DB_NAME, name)
                    .put("properties", propertiesURL);
        }
    }

    Iterator<String> it = graphDatabaseConfiguration.getKeys("setting");
    while (it.hasNext()) {
        String key = it.next();
        String setting = key.substring(8);
        try {
            databaseBuilder.setConfig((Setting<?>) GraphDatabaseSettings.class.getField(setting).get(null),
                    graphDatabaseConfiguration.getString(key));
        } catch (Exception e) {
            throw SeedException.wrap(e, Neo4jErrorCodes.INVALID_DATABASE_SETTING).put(EXCEPTION_DB_NAME, name)
                    .put("setting", setting);
        }
    }

    LOGGER.info("Opening {} embedded graph database at {}", name, path);

    return databaseBuilder.newGraphDatabase();
}