@SuppressWarnings("nls")
    protected JsonObject parseConfig(JdbcOptionsBean config) {
        JsonObject jsonConfig = new JsonObject();
        nullSafePut(jsonConfig, "provider_class", HikariCPDataSourceProvider.class.getCanonicalName()); // Vert.x thing
        nullSafePut(jsonConfig, "jdbcUrl", config.getJdbcUrl());
        nullSafePut(jsonConfig, "username", config.getUsername());
        nullSafePut(jsonConfig, "password", config.getPassword());
        nullSafePut(jsonConfig, "autoCommit", config.isAutoCommit());
        nullSafePut(jsonConfig, "connectionTimeout", config.getConnectionTimeout());
        nullSafePut(jsonConfig, "idleTimeout", config.getIdleTimeout());
        nullSafePut(jsonConfig, "maxLifetime", config.getMaxLifetime());
        nullSafePut(jsonConfig, "minimumIdle", config.getMinimumIdle());
        nullSafePut(jsonConfig, "maximumPoolSize", config.getMaximumPoolSize());
        nullSafePut(jsonConfig, "poolName", config.getPoolName());

        JsonObject dsProperties = new JsonObject();

        for (Entry<String, Object> entry : config.getDsProperties().entrySet()) {
            dsProperties.put(entry.getKey(), entry.getValue());
        }

        jsonConfig.put("properties", dsProperties);
        return jsonConfig;
    }
@ SuppressWarnings ( "nls" ) protected JsonObject parseConfig ( JdbcOptionsBean config ) { JsonObject jsonConfig = new JsonObject ( ) ; nullSafePut ( jsonConfig , "provider_class" , HikariCPDataSourceProvider . class . getCanonicalName ( ) ) ; nullSafePut ( jsonConfig , "jdbcUrl" , config . getJdbcUrl ( ) ) ; nullSafePut ( jsonConfig , "username" , config . getUsername ( ) ) ; nullSafePut ( jsonConfig , "password" , config . getPassword ( ) ) ; nullSafePut ( jsonConfig , "autoCommit" , config . isAutoCommit ( ) ) ; nullSafePut ( jsonConfig , "connectionTimeout" , config . getConnectionTimeout ( ) ) ; nullSafePut ( jsonConfig , "idleTimeout" , config . getIdleTimeout ( ) ) ; nullSafePut ( jsonConfig , "maxLifetime" , config . getMaxLifetime ( ) ) ; nullSafePut ( jsonConfig , "minimumIdle" , config . getMinimumIdle ( ) ) ; nullSafePut ( jsonConfig , "maximumPoolSize" , config . getMaximumPoolSize ( ) ) ; nullSafePut ( jsonConfig , "poolName" , config . getPoolName ( ) ) ; JsonObject dsProperties = new JsonObject ( ) ; for ( Entry < String , Object > entry : config . getDsProperties ( ) . entrySet ( ) ) { dsProperties . put ( entry . getKey ( ) , entry . getValue ( ) ) ; } jsonConfig . put ( "properties" , dsProperties ) ; return jsonConfig ; }
Translate our abstracted {@link JdbcOptionsBean} into a Vert.x-specific config.

We are assuming that the user is using HikariCP.