List of usage examples for org.apache.commons.configuration Configuration isEmpty
boolean isEmpty();
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); }