Skip to content
This repository has been archived by the owner on Jul 13, 2020. It is now read-only.

Commit

Permalink
switch GeniusModule to be an AutoWiringModule, remove all manual wiring
Browse files Browse the repository at this point in the history
  • Loading branch information
vorburger committed Jan 23, 2019
1 parent 9dc44f7 commit daf9481
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 178 deletions.

This file was deleted.

This file was deleted.

33 changes: 20 additions & 13 deletions src/main/java/org/opendaylight/genius/simple/GeniusModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@
*/
package org.opendaylight.genius.simple;

import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import javax.inject.Singleton;
import org.opendaylight.controller.simple.ConfigReader;
import org.opendaylight.controller.simple.InMemoryControllerModule;
import org.opendaylight.daexim.DataImportBootReady;
import org.opendaylight.genius.arputil.internal.ArpUtilImpl;
import org.opendaylight.genius.ipv6util.nd.Ipv6NdUtilServiceImpl;
import org.opendaylight.infrautils.inject.guice.AutoWiringModule;
import org.opendaylight.infrautils.inject.guice.GuiceClassPathBinder;
import org.opendaylight.infrautils.inject.guice.testutils.AnnotationsModule;
import org.opendaylight.infrautils.simple.InfraUtilsModule;
Expand All @@ -20,17 +23,27 @@
import org.opendaylight.serviceutils.simple.ServiceUtilsModule;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.util.rev170210.Ipv6NdUtilService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.networkutils.config.rev181129.NetworkConfig;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsalutil.rev170830.Config;

public class GeniusModule extends AbstractModule {

private final GuiceClassPathBinder classPathBinder;
public class GeniusModule extends AutoWiringModule {

public GeniusModule(GuiceClassPathBinder classPathBinder) {
this.classPathBinder = classPathBinder;
super(classPathBinder, "org.opendaylight.genius");
}

@Provides
@Singleton NetworkConfig getUpgradeConfig(ConfigReader configReader) {
return configReader.read("/initial/genius-network-config", NetworkConfig.class);
}

@Provides
@Singleton Config mdsalUtilConfig(ConfigReader configReader) {
return configReader.read("/initial/genius-mdsalutil-config", Config.class);
}

@Override
protected void configure() {
protected void configureMore() {
// Guice
install(new AnnotationsModule());

Expand All @@ -53,15 +66,9 @@ protected void configure() {
// OpenFlowPlugin
install(new OpenFlowPluginModule(classPathBinder));

// Genius
install(new MdsalUtilModule());
install(new LockManagerModule());
install(new IdManagerModule());
install(new AlivenessMonitorModule(classPathBinder));
// TODO remove these, by ... using ConfigReader as above
install(new InterfaceManagerModule());
install(new ItmModule());
install(new DatastoreUtilsModule());
// TODO install(new ResourceManagerWiring());

// ARP Util
bind(OdlArputilService.class).to(ArpUtilImpl.class);
Expand Down
21 changes: 0 additions & 21 deletions src/main/java/org/opendaylight/genius/simple/IdManagerModule.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,7 @@

import com.google.inject.AbstractModule;
import javax.annotation.Nullable;
import org.opendaylight.genius.idmanager.IdManager;
import org.opendaylight.genius.interfacemanager.InterfacemgrProvider;
import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
import org.opendaylight.genius.interfacemanager.interfaces.InterfaceManagerService;
import org.opendaylight.genius.interfacemanager.listeners.CacheBridgeEntryConfigListener;
import org.opendaylight.genius.interfacemanager.listeners.CacheBridgeRefEntryListener;
import org.opendaylight.genius.interfacemanager.listeners.HwVTEPConfigListener;
import org.opendaylight.genius.interfacemanager.listeners.HwVTEPTunnelsStateListener;
import org.opendaylight.genius.interfacemanager.listeners.InterfaceConfigListener;
import org.opendaylight.genius.interfacemanager.listeners.InterfaceInventoryStateListener;
import org.opendaylight.genius.interfacemanager.listeners.InterfaceStateListener;
import org.opendaylight.genius.interfacemanager.listeners.InterfaceTopologyStateListener;
import org.opendaylight.genius.interfacemanager.listeners.TerminationPointStateListener;
import org.opendaylight.genius.interfacemanager.listeners.VlanMemberConfigListener;
import org.opendaylight.genius.interfacemanager.rpcservice.InterfaceManagerRpcService;
import org.opendaylight.genius.interfacemanager.rpcservice.InterfaceManagerServiceImpl;
import org.opendaylight.genius.interfacemanager.servicebindings.flowbased.listeners.FlowBasedServicesConfigListener;
import org.opendaylight.genius.interfacemanager.servicebindings.flowbased.listeners.FlowBasedServicesInterfaceStateListener;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.config.rev160406.IfmConfig;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService;
import org.opendaylight.yangtools.yang.binding.Augmentation;
import org.opendaylight.yangtools.yang.binding.DataContainer;

Expand Down Expand Up @@ -70,24 +50,5 @@ public Integer getIfmStatsDefPollInterval() {
return 15;
}
});


bind(IdManagerService.class).to(IdManager.class);
bind(IInterfaceManager.class).to(InterfacemgrProvider.class);
bind(InterfaceManagerService.class).to(InterfaceManagerServiceImpl.class);

bind(OdlInterfaceRpcService.class).to(InterfaceManagerRpcService.class);
bind(CacheBridgeEntryConfigListener.class);
bind(CacheBridgeRefEntryListener.class);
bind(FlowBasedServicesConfigListener.class);
bind(FlowBasedServicesInterfaceStateListener.class);
bind(HwVTEPConfigListener.class);
bind(HwVTEPTunnelsStateListener.class);
bind(InterfaceConfigListener.class);
bind(InterfaceInventoryStateListener.class);
bind(InterfaceTopologyStateListener.class);
bind(TerminationPointStateListener.class);
bind(VlanMemberConfigListener.class);
bind(InterfaceStateListener.class);
}
}
22 changes: 0 additions & 22 deletions src/main/java/org/opendaylight/genius/simple/ItmModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,46 +10,24 @@
import com.google.inject.AbstractModule;
import com.google.inject.multibindings.Multibinder;
import org.apache.karaf.shell.api.action.Action;
import org.opendaylight.genius.itm.api.IITMProvider;
import org.opendaylight.genius.itm.cli.TepShowState;
import org.opendaylight.genius.itm.globals.ITMConstants;
import org.opendaylight.genius.itm.impl.ItmProvider;
import org.opendaylight.genius.itm.listeners.InterfaceStateListener;
import org.opendaylight.genius.itm.listeners.OvsdbNodeListener;
import org.opendaylight.genius.itm.listeners.TransportZoneListener;
import org.opendaylight.genius.itm.listeners.TunnelMonitorChangeListener;
import org.opendaylight.genius.itm.listeners.TunnelMonitorIntervalListener;
import org.opendaylight.genius.itm.listeners.VtepConfigSchemaListener;
import org.opendaylight.genius.itm.monitoring.ItmTunnelEventListener;
import org.opendaylight.genius.itm.rpc.ItmManagerRpcService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.ItmConfig;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.ItmConfigBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService;

public class ItmModule extends AbstractModule {

// TODO share code here with ItmTestModule instead of copy/pasting it from there!

@Override
protected void configure() {
bind(IITMProvider.class).to(ItmProvider.class);
bind(ItmRpcService.class).to(ItmManagerRpcService.class);
ItmConfig itmConfigObj = new ItmConfigBuilder()
.setDefTzEnabled(true)
.setDefTzTunnelType(ITMConstants.TUNNEL_TYPE_VXLAN)
.setGpeExtensionEnabled(false)
.build();
bind(ItmConfig.class).toInstance(itmConfigObj);

// Listeners
bind(TunnelMonitorIntervalListener.class);
bind(TransportZoneListener.class);
bind(OvsdbNodeListener.class);
bind(InterfaceStateListener.class);
bind(VtepConfigSchemaListener.class);
bind(TunnelMonitorChangeListener.class);
bind(ItmTunnelEventListener.class);

// Commands
Multibinder<Action> actionsBinder = Multibinder.newSetBinder(binder(), Action.class);
actionsBinder.addBinding().to(TepShowState.class);
Expand Down

This file was deleted.

23 changes: 0 additions & 23 deletions src/main/java/org/opendaylight/genius/simple/MdsalUtilModule.java

This file was deleted.

0 comments on commit daf9481

Please sign in to comment.