public DiscoveryConfig createDiscoveryConfig( final Map<String, String[]> params, final URI source, final DiscoverySourceManager sourceFactory ) throws CartoDataException { DiscoveryConfig result = null; if ( getBooleanParamWithDefault( params, "discover", false ) ) { URI s = source; if ( s == null ) { s = sourceFactory.createSourceURI( getStringParamWithDefault( params, "from", null ) ); } final DiscoveryConfig c = new DiscoveryConfig( s ); result = c; c.setEnabled( true ); c.setTimeoutMillis( getLongParamWithDefault( params, "timeout", c.getTimeoutMillis() ) ); } return result == null ? DiscoveryConfig.getDisabledConfig() : result; }