Search in sources :

Example 1 with NoClassSettingsException

use of org.elasticsearch.common.settings.NoClassSettingsException in project elasticsearch-jetty by sonian.

the class FilterHttpServerTransportModule method configureFilters.

private void configureFilters() {
    MapBinder<String, FilterHttpServerAdapterFactory> filterBinder = MapBinder.newMapBinder(binder(), String.class, FilterHttpServerAdapterFactory.class);
    Map<String, Settings> filtersSettings = componentSettings.getGroups("http_filter");
    for (Map.Entry<String, Settings> entry : filtersSettings.entrySet()) {
        String filterName = entry.getKey();
        Settings filterSettings = entry.getValue();
        Class<? extends FilterHttpServerAdapter> type = null;
        try {
            type = filterSettings.getAsClass("type", null, "com.sonian.elasticsearch.http.filter.", "FilterHttpServerAdapter");
        } catch (NoClassSettingsException e) {
        // Ignore
        }
        if (type == null) {
            throw new ElasticsearchIllegalArgumentException("Http Filter [" + filterName + "] must have a type associated with it");
        }
        filterBinder.addBinding(filterName).toProvider(FactoryProvider.newFactory(FilterHttpServerAdapterFactory.class, type)).in(Scopes.SINGLETON);
    }
}
Also used : ElasticsearchIllegalArgumentException(org.elasticsearch.ElasticsearchIllegalArgumentException) Map(java.util.Map) NoClassSettingsException(org.elasticsearch.common.settings.NoClassSettingsException) Settings(org.elasticsearch.common.settings.Settings)

Aggregations

Map (java.util.Map)1 ElasticsearchIllegalArgumentException (org.elasticsearch.ElasticsearchIllegalArgumentException)1 NoClassSettingsException (org.elasticsearch.common.settings.NoClassSettingsException)1 Settings (org.elasticsearch.common.settings.Settings)1