List of usage examples for org.apache.commons.configuration Configuration subset
Configuration subset(String prefix);
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 w ww . ja v a 2s .c om*/ return keyConfiguration; }
From source file:org.seedstack.seed.mail.internal.PropertyFileSessionConfigurerTest.java
@Before public void setUp() throws Exception { Props props = new Props(); Map<String, Object> config = new HashMap<String, Object>(); props.load(PropertyFileSessionConfigurerTest.class.getResourceAsStream("/test.props")); props.extractBaseProps(config);/*from w ww .j a v a 2 s .c om*/ Configuration configuration = new MapConfiguration(config); assertThat(config).isNotEmpty(); assertThat(configuration).isNotNull(); SessionConfigurer configurer = new PropertyFileSessionConfigurer( configuration.subset(JavaMailPlugin.CONFIGURATION_PREFIX)); this.sessionsConfig = configurer.doConfigure(); }
From source file:org.seedstack.seed.persistence.elasticsearch.internal.ElasticSearchPlugin.java
@Override public InitState init(InitContext initContext) { ApplicationPlugin applicationPlugin = (ApplicationPlugin) initContext.pluginsRequired().iterator().next(); 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)); }/* w w w.j a v a 2s . c o m*/ if (!propertiesMap.containsKey("path.home")) { try { propertiesMap.put("path.home", applicationPlugin.getApplication().getStorageLocation( ElasticSearchPlugin.ELASTIC_SEARCH_STORAGE_ROOT + elasticSearchClientName) .getAbsolutePath()); } catch (IOException e) { throw new PluginException("Unable to create ElasticSearch home directory", e); } } 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.seed.persistence.jpa.internal.JpaPlugin.java
@Override @SuppressWarnings("unchecked") public InitState init(InitContext initContext) { Configuration jpaConfiguration = null; TransactionPlugin transactionPlugin = null; JdbcRegistry jdbcRegistry = null;/*from ww w . j ava 2 s.c o m*/ Application application = null; for (Plugin plugin : initContext.pluginsRequired()) { if (plugin instanceof ApplicationPlugin) { application = ((ApplicationPlugin) plugin).getApplication(); jpaConfiguration = application.getConfiguration().subset(JpaPlugin.JPA_PLUGIN_CONFIGURATION_PREFIX); } else if (plugin instanceof TransactionPlugin) { transactionPlugin = (TransactionPlugin) plugin; } else if (plugin instanceof JdbcPlugin) { jdbcRegistry = (JdbcRegistry) plugin; } } if (jpaConfiguration == null) { throw new PluginException("Unable to find application plugin"); } if (transactionPlugin == null) { throw new PluginException("Unable to find transaction plugin"); } if (jdbcRegistry == null) { throw new PluginException("Unable to find jdbc plugin"); } String[] persistenceUnitNames = jpaConfiguration.getStringArray("units"); if (persistenceUnitNames == null || persistenceUnitNames.length == 0) { LOGGER.info("No JPA persistence unit configured, JPA support disabled"); return InitState.INITIALIZED; } 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.seed.persistence.tinkerpop.internal.TinkerpopPlugin.java
@Override @SuppressWarnings("unchecked") public InitState init(InitContext initContext) { Configuration tinkerpopConfiguration = null; TransactionPlugin transactionPlugin = null; for (Plugin plugin : initContext.pluginsRequired()) { if (plugin instanceof ApplicationPlugin) { tinkerpopConfiguration = ((ApplicationPlugin) plugin).getApplication().getConfiguration() .subset(TinkerpopPlugin.TINKERPOP_PLUGIN_CONFIGURATION_PREFIX); } else if (plugin instanceof TransactionPlugin) { transactionPlugin = ((TransactionPlugin) plugin); }/*from www . ja va 2s . c o m*/ } if (tinkerpopConfiguration == null) { throw new PluginException("Unable to find application plugin"); } if (transactionPlugin == null) { throw new PluginException("Unable to find transaction plugin"); } String[] graphNames = tinkerpopConfiguration.getStringArray("graphs"); if (graphNames != null) { for (String graphName : graphNames) { Configuration graphConfiguration = tinkerpopConfiguration.subset("graph." + graphName); String implementation = graphConfiguration.getString("implementation"); if (implementation != null && !implementation.isEmpty()) { try { this.graphs.put(graphName, (Graph) Class.forName(implementation).newInstance()); } catch (Exception e) { throw new PluginException("Unable to load class " + implementation, e); } } else { throw new IllegalArgumentException( "The implementation is not specified for graph " + graphName); } String exceptionHandler = graphConfiguration.getString("exception-handler"); if (exceptionHandler != null && !exceptionHandler.isEmpty()) { try { graphExceptionHandlerClasses.put(graphName, (Class<? extends GraphExceptionHandler>) Class.forName(exceptionHandler)); } catch (Exception e) { throw new PluginException("Unable to load class " + exceptionHandler, e); } } } transactionPlugin.registerTransactionHandler(GraphTransactionHandler.class); } else { LOGGER.info("No Tinkerpop graph configured, Tinkerpop support disabled"); } return InitState.INITIALIZED; }
From source file:org.seedstack.seed.security.internal.authorization.ConfigurationRolePermissionResolver.java
/** * Reads the configuration to init role permission mappings * /*from w ww .ja va2s .c o m*/ * @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); }
From source file:org.seedstack.seed.security.internal.realms.ConfigurationRealm.java
/** * Reads the configuration props to initialize authorized users and their rights. * /*from ww w . j av a 2 s . c o m*/ * @param securityConfiguration the configuration concerning security */ @Inject public void readConfiguration(@Named("seed-security-config") Configuration securityConfiguration) { Configuration usersConfig = securityConfiguration.subset(USER_SECTION_NAME); if (usersConfig.isEmpty()) { LOGGER.warn("{} defined, but the configuration defines no user", getClass().getSimpleName()); return; } users.clear(); processUsersConfiguration(usersConfig); }
From source file:org.seedstack.seed.transaction.internal.TransactionPluginTest.java
private InitContext mockInitContext(Class<?> transactionManagerClass, String transactionHandlerClass) { InitContext initContext = mock(InitContext.class); Configuration configuration = mock(Configuration.class); ApplicationPlugin applicationPlugin = mock(ApplicationPlugin.class); Application application = mock(Application.class); when(applicationPlugin.getApplication()).thenReturn(application); when(application.getConfiguration()).thenReturn(configuration); when(configuration.subset(TransactionPlugin.TRANSACTION_PLUGIN_CONFIGURATION_PREFIX)) .thenReturn(configuration);/* ww w . j av a 2 s .c om*/ if (transactionManagerClass != null) { when(configuration.subset(TransactionPlugin.TRANSACTION_PLUGIN_CONFIGURATION_PREFIX) .getString("manager")).thenReturn(transactionManagerClass.getName()); } if (transactionHandlerClass != null) { when(configuration.subset(TransactionPlugin.TRANSACTION_PLUGIN_CONFIGURATION_PREFIX) .getString("default-handler")).thenReturn(transactionHandlerClass); } Map<Class<?>, Collection<Class<?>>> mapImplements = new HashMap<Class<?>, Collection<Class<?>>>(); Collection<Class<?>> implementsTransactionHandlerClasses = new ArrayList<Class<?>>(); implementsTransactionHandlerClasses.add(TransactionHandlerTestImpl.class); mapImplements.put(TransactionHandler.class, implementsTransactionHandlerClasses); Collection<Class<?>> implementsTransactionMetadataResolverClasses = new ArrayList<Class<?>>(); implementsTransactionMetadataResolverClasses.add(TransactionMetadataResolverTestImpl.class); mapImplements.put(TransactionMetadataResolver.class, implementsTransactionMetadataResolverClasses); when(initContext.scannedSubTypesByParentClass()).thenReturn(mapImplements); Collection plugins = mock(Collection.class); Iterator iterator = mock(Iterator.class); when(initContext.pluginsRequired()).thenReturn(plugins); when(plugins.iterator()).thenReturn(iterator); when((ApplicationPlugin) iterator.next()).thenReturn(applicationPlugin); Assertions.assertThat(initContext).isNotNull(); Assertions.assertThat(applicationPlugin).isNotNull(); Assertions.assertThat(configuration).isNotNull(); return initContext; }
From source file:org.seedstack.seed.web.internal.UndertowPlugin.java
@Override public InitState init(InitContext initContext) { Configuration configuration = null; SslConfig sslConfig = null;//from w ww. j av a2 s.c o m SSLContext sslContext = null; for (Plugin plugin : initContext.pluginsRequired()) { if (plugin instanceof ApplicationPlugin) { configuration = ((ApplicationPlugin) plugin).getApplication().getConfiguration(); } else if (plugin instanceof CryptoPlugin) { CryptoPlugin cryptoPlugin = (CryptoPlugin) plugin; sslConfig = cryptoPlugin.getSslConfig(); sslContext = cryptoPlugin.getSslContext(); } else { throw SeedException.createNew(UndertowErrorCode.UNEXPECTED_EXCEPTION); } } if (configuration == null) { throw SeedException.createNew(UndertowErrorCode.UNEXPECTED_EXCEPTION); } serverConfig = new ServerConfigFactory().create(configuration.subset(UNDERTOW_PLUGIN_PREFIX), sslConfig, sslContext); return InitState.INITIALIZED; }
From source file:org.seedstack.seed.ws.internal.jms.SoapJmsUri.java
Configuration getConfiguration(Configuration wsConfiguration) { if (endpointName != null) { return wsConfiguration.subset(String.format("endpoint.%s.jms", endpointName)); } else {/* w w w .j ava2s . com*/ return new BaseConfiguration(); } }