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

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

Introduction

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

Prototype

boolean isEmpty();

Source Link

Document

Check if the configuration is empty.

Usage

From source file:org.seedstack.business.internal.DefaultRepositoryCollector.java

Key<?> defaultRepositoryQualifier(Class<?> aggregateClass, TypeLiteral<?> genericInterface) {
    Key<?> defaultKey = null;

    Configuration configuration = this.application.getConfiguration(aggregateClass);

    if (configuration != null && !configuration.isEmpty()) {
        String qualifierName = configuration.getString("default-repository");
        if (qualifierName != null && !"".equals(qualifierName)) {
            try {
                classLoader = SeedReflectionUtils.findMostCompleteClassLoader();
                Class<?> qualifierClass = classLoader.loadClass(qualifierName);
                if (Annotation.class.isAssignableFrom(qualifierClass)) {
                    defaultKey = Key.get(genericInterface, (Class<? extends Annotation>) qualifierClass);
                } else {
                    throw SeedException.createNew(BusinessCoreErrorCodes.CLASS_IS_NOT_AN_ANNOTATION)
                            .put("class", qualifierName);
                }//from   w w w .  j a va 2 s .  c  om
            } catch (ClassNotFoundException e) {
                defaultKey = Key.get(genericInterface, Names.named(qualifierName));
            }
        }
    }
    return defaultKey;
}

From source file:org.seedstack.hub.infra.vcs.ProxySelectorService.java

private void initializeProxiesFromConfiguration() {
    Configuration proxyConfig = application.getConfiguration().subset(PROXY);

    if (!proxyConfig.isEmpty()) {
        if (!proxyConfig.containsKey(TYPE)) {
            throw new ConfigurationException("Missing \"type\"  in the proxy configuration.");
        }//from   ww w  . j a v a2 s. c  o  m
        String type = proxyConfig.getString(TYPE);

        if (!proxyConfig.containsKey(HOST)) {
            throw new ConfigurationException("Missing \"url\" in the proxy configuration.");
        }
        String url = proxyConfig.getString(HOST);

        if (!proxyConfig.containsKey(PORT)) {
            throw new ConfigurationException("Missing \"port\"  in the proxy configuration.");
        }
        int port = proxyConfig.getInt(PORT);

        String[] exclusionsConfig = proxyConfig.getStringArray(EXCLUSIONS);
        if (exclusionsConfig != null) {
            exclusions = Arrays.stream(exclusionsConfig).map(this::makePattern).collect(toList());
        }
        proxy = Optional.of(new Proxy(Proxy.Type.valueOf(type), new InetSocketAddress(url, port)));
    } else {
        proxy = Optional.empty();
        exclusions = new ArrayList<>();
    }
}

From source file:org.seedstack.mqtt.internal.MqttPlugin.java

private void configureMqttClients() {
    String[] clients = mqttConfiguration.getStringArray(CONNECTION_CLIENTS);

    for (String clientName : clients) {
        LOGGER.debug("Configure new MqttClient [{}]", clientName);
        Configuration clientConfiguration = mqttConfiguration.subset(CONNECTION_CLIENT + "." + clientName);
        String uri = clientConfiguration.getString(BROKER_URI);
        String clientId = clientConfiguration.getString(MQTTCLIENT_ID);
        if (uri == null) {
            throw SeedException.createNew(MqttErrorCodes.MISCONFIGURED_MQTT_CLIENT).put("clients", clientName);
        }/*from  w  w w .j  a va 2 s  .co  m*/
        if (clientId == null) {
            clientId = MqttClient.generateClientId();
            LOGGER.debug("Generate new client id [{}] for client name [{}]", clientId, clientName);
        }

        MqttClientDefinition def = new MqttClientDefinition(uri, clientId);
        Configuration reconnectConfiguration = clientConfiguration.subset(RECONNECTION_PROPS);
        if (!reconnectConfiguration.isEmpty()) {
            try {
                String reconnection = reconnectConfiguration.getString(RECONNECTION_MODE);
                if (reconnection != null) {
                    MqttReconnectionMode mode = Enum.valueOf(MqttReconnectionMode.class, reconnection);
                    def.setReconnectionMode(mode);
                }
                String inter = reconnectConfiguration.getString(RECONNECTION_INTERVAL);
                if (inter != null) {
                    def.setReconnectionInterval(Integer.parseInt(inter));
                }
            } catch (Exception e) {
                throw SeedException.createNew(MqttErrorCodes.MISCONFIGURED_MQTT_RECONNECTION).put("values",
                        EnumSet.allOf(MqttReconnectionMode.class));
            }
        }
        MqttConnectOptionsDefinition connectOptionsDefinition = new MqttConnectOptionsDefinition(
                clientConfiguration.subset(MQTT_OPTIONS));
        def.setConnectOptionsDefinition(connectOptionsDefinition);

        // Check ThreadPool Configuration
        def.setPoolDefinition(new MqttPoolDefinition(clientConfiguration.subset(POOL_PROPS)));

        mqttClientDefinitions.put(clientName, def);
    }
}

From source file:org.seedstack.mqtt.internal.MqttPluginTest.java

/**
 * Test method for//w w w  . j ava  2s.  c om
 * {@link org.seedstack.mqtt.internal.MqttPlugin#init(io.nuun.kernel.api.plugin.context.InitContext)}
 * .
 */
@Test
public void testInitWithoutReconnectionConfiguration(@Mocked final Configuration configuration) {
    final String clientName = "clientOK1";
    final String[] clients = { clientName };
    final Collection<Class<?>> classes = new ArrayList<Class<?>>();
    MqttPlugin plugin = new MqttPlugin();
    final String defaultConfigString = "xx";
    new Expectations() {
        {
            application.getConfiguration();
            result = configuration;

            configuration.subset(MQTT_PLUGIN_CONFIGURATION_PREFIX);
            result = configuration;

            configuration.isEmpty();
            result = true;

            configuration.getStringArray(CONNECTION_CLIENTS);
            result = clients;

            configuration.getString(anyString);
            result = defaultConfigString;

            specs.get(any);
            result = classes;

        }
    };

    new MockUp<MqttClient>() {
        @Mock
        public void $init(String serverURI, String clientId) {
        }

    };

    plugin.init(initContext);

    MqttClientDefinition def = new MqttClientDefinition(defaultConfigString, defaultConfigString);
    ConcurrentHashMap<String, MqttClientDefinition> defs = Deencapsulation.getField(plugin,
            "mqttClientDefinitions");
    Assertions.assertThat(defs).isNotEmpty();
    MqttClientDefinition clientDef = defs.get(clientName);
    Assertions.assertThat(clientDef.getReconnectionInterval()).isEqualTo(def.getReconnectionInterval());
    Assertions.assertThat(clientDef.getReconnectionMode()).isEqualTo(def.getReconnectionMode());
}

From source file:org.seedstack.seed.core.internal.application.ApplicationImpl.java

/**
 * Merge property from props section recursively starting by the atomic
 * parent package section coming from entity class name. Properties can be
 * overwritten by using the same key on the subpackage(s) section.
 *
 * @param key props section name//from  w w w  .  jav a2s  . c o m
 */
private void mergeEntityPackageConfiguration(String key, Map<String, String> entityConfiguration) {
    if (key.matches(REGEX_FOR_SUBPACKAGE)) {
        mergeEntityPackageConfiguration(key.replaceFirst(REGEX_FOR_SUBPACKAGE, "$1*"), entityConfiguration);
    }
    Configuration configuration = this.configuration.subset(key.replace("*", ".*"));
    if (!configuration.isEmpty()) {
        Iterator<String> keys = configuration.getKeys();
        while (keys.hasNext()) {
            String propertyKey = keys.next();
            entityConfiguration.put(propertyKey, configuration.getString(propertyKey));
        }
    }
}

From source file:org.seedstack.seed.core.internal.application.ApplicationImpl.java

/**
 * Merge property from props section recursively starting by "*" section.
 *
 * @param key props section name/*ww w . j  a va2s  . c om*/
 * @return configuration map
 */
private Map<String, String> getEntityConfiguration(String key) {
    Configuration configuration = this.configuration.subset("*");
    Map<String, String> entityConfig = new HashMap<String, String>();
    if (!configuration.isEmpty()) {
        Iterator<String> keys = configuration.getKeys();
        while (keys.hasNext()) {
            String propertyKey = keys.next();
            entityConfig.put(propertyKey, configuration.getString(propertyKey));
        }
    }
    mergeEntityPackageConfiguration(key, entityConfig);
    return entityConfig;
}

From source file:org.seedstack.seed.crypto.internal.CryptoPluginTest.java

/**
 * Test method for {@link org.seedstack.seed.crypto.internal.CryptoPlugin#init(io.nuun.kernel.api.plugin.context.InitContext)}. Test an error in
 * the configuration file./*from   w w w. ja  v a2 s  .  c  o m*/
 *
 * @throws Exception if an error occurred
 */
@Test(expected = RuntimeException.class)
public void testInitInitContextWithProblemKeyDefinition(@Mocked final InitContext context,
        @Mocked final ApplicationPlugin applicationPlugin, @Mocked final Configuration configuration,
        @Mocked final Application application) throws Exception {

    new Expectations() {
        @Mocked
        CertificateDefinition certificateDefinition;

        {
            context.pluginsRequired();
            result = Collections.singleton(applicationPlugin);

            applicationPlugin.getApplication();
            result = application;

            application.getConfiguration();
            result = configuration;

            configuration.subset("org.seedstack.seed.cryptography");
            result = configuration;

            configuration.getStringArray("keys");
            result = new String[] { "key1" };

            configuration.isEmpty();
            result = true;
        }
    };
    final CryptoPlugin plugin = new CryptoPlugin();
    plugin.init(context);

}

From source file:org.seedstack.seed.crypto.internal.EncryptionServiceFactory.java

private Configuration configurationForKey(Configuration configuration, String keyName) {
    Configuration keyConfiguration = configuration.subset("key." + keyName);
    if (keyConfiguration.isEmpty()) {
        throw new RuntimeException("Key configuration [" + keyName + "] is not defined !");
    }//from   ww w .  j  ava2 s. c o m

    return keyConfiguration;
}

From source file:org.seedstack.seed.persistence.jdbc.internal.DataSourceDefinitionFactory.java

private DataSourceDefinition createDataSourceDefinition(Map<String, Context> jndiContext,
        MetricsPlugin metricsPlugin, Map<String, Class<? extends DataSourceProvider>> dataSourceProviderMap,
        String dataSourceName) {//from   w  w  w. j a  va  2s. c  o  m
    Configuration dataSourceConfig = jdbcConfiguration.subset("datasource." + dataSourceName);
    if (dataSourceConfig.isEmpty()) {
        throw SeedException.createNew(JdbcErrorCode.MISSING_DATASOURCE_CONFIG).put("name", dataSourceName);
    }
    DataSourceDefinition dataSourceDefinition;

    String dataSourceJndiName = dataSourceConfig.getString("jndi-name");
    if (dataSourceJndiName != null) {
        dataSourceDefinition = createJndiDataSource(jndiContext, dataSourceName, dataSourceConfig,
                dataSourceJndiName);
    } else {
        dataSourceDefinition = createDataSource(metricsPlugin, dataSourceProviderMap, dataSourceName,
                dataSourceConfig);
    }

    String exceptionHandler = dataSourceConfig.getString("exception-handler");
    if (exceptionHandler != null && !exceptionHandler.isEmpty()) {
        try {
            //noinspection unchecked
            dataSourceDefinition.setJdbcExceptionHandler(
                    (Class<? extends JdbcExceptionHandler>) Class.forName(exceptionHandler));
        } catch (Exception e) {
            throw new PluginException("Unable to load class " + exceptionHandler, e);
        }
    }
    return dataSourceDefinition;
}

From source file:org.seedstack.seed.security.internal.authorization.ConfigurationRolePermissionResolver.java

/**
 * Reads the configuration to init role permission mappings
 * /*  w w  w. j ava2s  .com*/
 * @param securityConfiguration
 *            configuration of security
 */
@Inject
public void readConfiguration(@Named("seed-security-config") Configuration securityConfiguration) {
    Configuration permissionsConfiguration = securityConfiguration.subset(PERMISSIONS_SECTION_NAME);
    if (permissionsConfiguration.isEmpty()) {
        LOGGER.warn("{} defined, but its configuration is empty.", getClass().getSimpleName());
        return;
    }
    roles.clear();
    processPermissionsConfiguration(permissionsConfiguration);
}