+++ /dev/null
-/*
- * Copyright (c) 2017 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.genius.simple;
-
-import org.opendaylight.infrautils.inject.guice.AutoWiringModule;
-import org.opendaylight.infrautils.inject.guice.GuiceClassPathBinder;
-
-public class AlivenessMonitorModule extends AutoWiringModule {
-
- public AlivenessMonitorModule(GuiceClassPathBinder classPathBinder) {
- super(classPathBinder, "org.opendaylight.genius.alivenessmonitor");
- }
-}
+++ /dev/null
-/*
- * Copyright © 2018 Red Hat, Inc. and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.genius.simple;
-
-import com.google.inject.AbstractModule;
-import org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar;
-import org.opendaylight.genius.datastoreutils.listeners.internal.DataTreeEventCallbackRegistrarImpl;
-
-public class DatastoreUtilsModule extends AbstractModule {
- @Override
- protected void configure() {
- bind(DataTreeEventCallbackRegistrar.class).to(DataTreeEventCallbackRegistrarImpl.class);
- }
-}
*/
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;
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());
// 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);
+++ /dev/null
-/*
- * Copyright (c) 2017 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.genius.simple;
-
-import com.google.inject.AbstractModule;
-import org.opendaylight.genius.idmanager.IdManager;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService;
-
-public class IdManagerModule extends AbstractModule {
-
- @Override
- protected void configure() {
- bind(IdManagerService.class).to(IdManager.class);
- }
-
-}
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;
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);
}
}
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 {
@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)
.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);
+++ /dev/null
-/*
- * Copyright (c) 2017 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.genius.simple;
-
-import com.google.inject.AbstractModule;
-import org.opendaylight.genius.lockmanager.impl.LockListener;
-import org.opendaylight.genius.lockmanager.impl.LockManagerServiceImpl;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService;
-
-public class LockManagerModule extends AbstractModule {
-
- @Override
- protected void configure() {
- bind(LockManagerService.class).to(LockManagerServiceImpl.class);
- bind(LockListener.class);
- }
-
-}
+++ /dev/null
-/*
- * Copyright (c) 2016, 2017 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.genius.simple;
-
-import com.google.inject.AbstractModule;
-import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
-import org.opendaylight.genius.mdsalutil.internal.MDSALManager;
-import org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache;
-import org.opendaylight.genius.utils.hwvtep.internal.HwvtepNodeHACacheImpl;
-
-public class MdsalUtilModule extends AbstractModule {
-
- @Override
- protected void configure() {
- bind(IMdsalApiManager.class).to(MDSALManager.class);
- bind(HwvtepNodeHACache.class).to(HwvtepNodeHACacheImpl.class);
- }
-}