protected static AgroalConnectionFactoryConfigurationSupplier connectionFactoryConfiguration(OperationContext context, ModelNode model) throws OperationFailedException { AgroalConnectionFactoryConfigurationSupplier configuration = new AgroalConnectionFactoryConfigurationSupplier(); if (AbstractDataSourceDefinition.URL_ATTRIBUTE.resolveModelAttribute(context, model).isDefined()) { configuration.jdbcUrl(AbstractDataSourceDefinition.URL_ATTRIBUTE.resolveModelAttribute(context, model).asString()); } if (AbstractDataSourceDefinition.NEW_CONNECTION_SQL_ATTRIBUTE.resolveModelAttribute(context, model).isDefined()) { configuration.initialSql(AbstractDataSourceDefinition.NEW_CONNECTION_SQL_ATTRIBUTE.resolveModelAttribute(context, model).asString()); } if (AbstractDataSourceDefinition.TRANSACTION_ISOLATION_ATTRIBUTE.resolveModelAttribute(context, model).isDefined()) { configuration.jdbcTransactionIsolation(TransactionIsolation.valueOf(AbstractDataSourceDefinition.TRANSACTION_ISOLATION_ATTRIBUTE.resolveModelAttribute(context, model).asString())); } if (AbstractDataSourceDefinition.CONNECTION_PROPERTIES_ATTRIBUTE.resolveModelAttribute(context, model).isDefined()) { for (Property jdbcProperty : AbstractDataSourceDefinition.CONNECTION_PROPERTIES_ATTRIBUTE.resolveModelAttribute(context, model).asPropertyList()) { configuration.jdbcProperty(jdbcProperty.getName(), jdbcProperty.getValue().asString()); } } if (AbstractDataSourceDefinition.USERNAME_ATTRIBUTE.resolveModelAttribute(context, model).isDefined()) { configuration.principal(new NamePrincipal(AbstractDataSourceDefinition.USERNAME_ATTRIBUTE.resolveModelAttribute(context, model).asString())); } if (AbstractDataSourceDefinition.PASSWORD_ATTRIBUTE.resolveModelAttribute(context, model).isDefined()) { configuration.credential(new SimplePassword(AbstractDataSourceDefinition.PASSWORD_ATTRIBUTE.resolveModelAttribute(context, model).asString())); } return configuration; }
dataSourceConfiguration.connectionPoolConfiguration().connectionFactoryConfiguration().credential(new SimplePassword(new String(passwordCallback.getPassword()))); try { String password = new String(credentialSourceExceptionExceptionSupplier.get().getCredential(PasswordCredential.class).getPassword(ClearPassword.class).getPassword()); dataSourceConfiguration.connectionPoolConfiguration().connectionFactoryConfiguration().credential(new SimplePassword(password)); } catch (Exception e) { throw AgroalLogger.SERVICE_LOGGER.invalidCredentialSourceSupplier(e, dataSourceName);
@Override public Properties getSecurityProperties(Object securityObject) { if ( securityObject instanceof NamePrincipal ) { return ( (NamePrincipal) securityObject ).asProperties(); } if ( securityObject instanceof SimplePassword ) { return ( (SimplePassword) securityObject ).asProperties(); } return EMPTY_PROPERTIES; } }
private void setupSecurity(Properties properties, Principal principal, Iterable<Object> credentials) { for ( AgroalSecurityProvider provider : load( AgroalSecurityProvider.class, AgroalSecurityProvider.class.getClassLoader() ) ) { properties.putAll( provider.getSecurityProperties( principal ) ); } for ( Object credential : credentials ) { for ( AgroalSecurityProvider provider : load( AgroalSecurityProvider.class, AgroalSecurityProvider.class.getClassLoader() ) ) { properties.putAll( provider.getSecurityProperties( credential ) ); } } }
public Properties asProperties() { Properties properties = new Properties(); properties.setProperty( "user", getName() ); return properties; } }
public Properties asProperties() { Properties properties = new Properties(); properties.setProperty( "password", getWord() ); return properties; }
connectionFactoryConfiguration.principal(new NamePrincipal(user)); connectionFactoryConfiguration.credential(new SimplePassword(password));
private HikariConfig getHikariConfig(AgroalDataSourceConfiguration dataSourceConfiguration) { HikariConfig hikariConfig = new HikariConfig(); // hikariConfig.setDataSourceJNDI( dataSourceConfiguration.jndiName() ); hikariConfig.setLeakDetectionThreshold( poolConfiguration.leakTimeout().toMillis() ); hikariConfig.setIdleTimeout( poolConfiguration.reapTimeout().toMillis() ); hikariConfig.setValidationTimeout( poolConfiguration.validationTimeout().toMillis() ); if ( factoryConfiguration.jdbcTransactionIsolation().isDefined() ) { hikariConfig.setTransactionIsolation( "TRANSACTION_" + factoryConfiguration.jdbcTransactionIsolation().name() ); } hikariConfig.setJdbcUrl( factoryConfiguration.jdbcUrl() ); hikariConfig.setAutoCommit( factoryConfiguration.autoCommit() ); hikariConfig.setConnectionInitSql( factoryConfiguration.initialSql() ); for ( AgroalSecurityProvider provider : load( AgroalSecurityProvider.class, AgroalSecurityProvider.class.getClassLoader() ) ) { hikariConfig.setDataSourceProperties( provider.getSecurityProperties( factoryConfiguration.principal() ) ); } for ( Object credential : factoryConfiguration.credentials() ) { for ( AgroalSecurityProvider provider : load( AgroalSecurityProvider.class, AgroalSecurityProvider.class.getClassLoader() ) ) { hikariConfig.setDataSourceProperties( provider.getSecurityProperties( credential ) ); } } hikariConfig.setMaximumPoolSize( poolConfiguration.maxSize() ); hikariConfig.setConnectionTimeout( poolConfiguration.acquisitionTimeout().toMillis() ); if ( factoryConfiguration.connectionProviderClass() != null) { hikariConfig.setDriverClassName( factoryConfiguration.connectionProviderClass().getName() ); } return hikariConfig; }