Remove PreProcessModule
This commit is contained in:
parent
07807f320a
commit
d2606feb3d
|
@ -1,65 +0,0 @@
|
||||||
/*
|
|
||||||
* Licensed to Elasticsearch under one or more contributor
|
|
||||||
* license agreements. See the NOTICE file distributed with
|
|
||||||
* this work for additional information regarding copyright
|
|
||||||
* ownership. Elasticsearch licenses this file to you under
|
|
||||||
* the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing,
|
|
||||||
* software distributed under the License is distributed on an
|
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
* KIND, either express or implied. See the License for the
|
|
||||||
* specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.elasticsearch.common.inject;
|
|
||||||
|
|
||||||
import org.elasticsearch.ElasticsearchException;
|
|
||||||
import org.elasticsearch.common.Nullable;
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class Modules {
|
|
||||||
|
|
||||||
public static Module createModule(Class<? extends Module> moduleClass, @Nullable Settings settings) {
|
|
||||||
Constructor<? extends Module> constructor;
|
|
||||||
try {
|
|
||||||
constructor = moduleClass.getConstructor(Settings.class);
|
|
||||||
try {
|
|
||||||
return constructor.newInstance(settings);
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new ElasticsearchException("Failed to create module [" + moduleClass + "]", e);
|
|
||||||
}
|
|
||||||
} catch (NoSuchMethodException e) {
|
|
||||||
try {
|
|
||||||
constructor = moduleClass.getConstructor();
|
|
||||||
try {
|
|
||||||
return constructor.newInstance();
|
|
||||||
} catch (Exception e1) {
|
|
||||||
throw new ElasticsearchException("Failed to create module [" + moduleClass + "]", e);
|
|
||||||
}
|
|
||||||
} catch (NoSuchMethodException e1) {
|
|
||||||
throw new ElasticsearchException("No constructor for [" + moduleClass + "]");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void processModules(Iterable<Module> modules) {
|
|
||||||
for (Module module : modules) {
|
|
||||||
if (module instanceof PreProcessModule) {
|
|
||||||
for (Module module1 : modules) {
|
|
||||||
((PreProcessModule) module).processModule(module1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -44,7 +44,6 @@ public class ModulesBuilder implements Iterable<Module> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Injector createInjector() {
|
public Injector createInjector() {
|
||||||
Modules.processModules(modules);
|
|
||||||
Injector injector = Guice.createInjector(modules);
|
Injector injector = Guice.createInjector(modules);
|
||||||
Injectors.cleanCaches(injector);
|
Injectors.cleanCaches(injector);
|
||||||
// in ES, we always create all instances as if they are eager singletons
|
// in ES, we always create all instances as if they are eager singletons
|
||||||
|
@ -54,7 +53,6 @@ public class ModulesBuilder implements Iterable<Module> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Injector createChildInjector(Injector injector) {
|
public Injector createChildInjector(Injector injector) {
|
||||||
Modules.processModules(modules);
|
|
||||||
Injector childInjector = injector.createChildInjector(modules);
|
Injector childInjector = injector.createChildInjector(modules);
|
||||||
Injectors.cleanCaches(childInjector);
|
Injectors.cleanCaches(childInjector);
|
||||||
// in ES, we always create all instances as if they are eager singletons
|
// in ES, we always create all instances as if they are eager singletons
|
||||||
|
|
|
@ -42,7 +42,6 @@ import org.elasticsearch.client.FilterClient;
|
||||||
import org.elasticsearch.common.inject.AbstractModule;
|
import org.elasticsearch.common.inject.AbstractModule;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.Module;
|
import org.elasticsearch.common.inject.Module;
|
||||||
import org.elasticsearch.common.inject.PreProcessModule;
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
import org.elasticsearch.http.HttpServerTransport;
|
import org.elasticsearch.http.HttpServerTransport;
|
||||||
|
@ -403,7 +402,7 @@ public class ContextAndHeaderTransportIT extends ESIntegTestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ActionLoggingModule extends AbstractModule implements PreProcessModule {
|
public static class ActionLoggingModule extends AbstractModule {
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -411,11 +410,8 @@ public class ContextAndHeaderTransportIT extends ESIntegTestCase {
|
||||||
bind(LoggingFilter.class).asEagerSingleton();
|
bind(LoggingFilter.class).asEagerSingleton();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void onModule(ActionModule module) {
|
||||||
public void processModule(Module module) {
|
module.registerFilter(LoggingFilter.class);
|
||||||
if (module instanceof ActionModule) {
|
|
||||||
((ActionModule)module).registerFilter(LoggingFilter.class);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue