switch GeniusModule to be an AutoWiringModule, remove all manual wiring
authorMichael Vorburger <mike@vorburger.ch>
Fri, 21 Dec 2018 15:06:30 +0000 (16:06 +0100)
committerMichael Vorburger <mike@vorburger.ch>
Wed, 1 Jul 2020 23:38:27 +0000 (01:38 +0200)
Signed-off-by: Michael Vorburger <mike@vorburger.ch>
src/main/java/org/opendaylight/genius/simple/AlivenessMonitorModule.java [deleted file]
src/main/java/org/opendaylight/genius/simple/DatastoreUtilsModule.java [deleted file]
src/main/java/org/opendaylight/genius/simple/GeniusModule.java
src/main/java/org/opendaylight/genius/simple/IdManagerModule.java [deleted file]
src/main/java/org/opendaylight/genius/simple/InterfaceManagerModule.java
src/main/java/org/opendaylight/genius/simple/ItmModule.java
src/main/java/org/opendaylight/genius/simple/LockManagerModule.java [deleted file]
src/main/java/org/opendaylight/genius/simple/MdsalUtilModule.java [deleted file]

diff --git a/src/main/java/org/opendaylight/genius/simple/AlivenessMonitorModule.java b/src/main/java/org/opendaylight/genius/simple/AlivenessMonitorModule.java
deleted file mode 100644 (file)
index c985f88..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * 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");
-    }
-}
diff --git a/src/main/java/org/opendaylight/genius/simple/DatastoreUtilsModule.java b/src/main/java/org/opendaylight/genius/simple/DatastoreUtilsModule.java
deleted file mode 100644 (file)
index 79c9d8b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * 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);
-    }
-}
index 8dad2934abc60af1995ee5bf7a670693552652a8..43c0f5522497af29f52efaa28b1200e09ddec7c4 100644 (file)
@@ -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;
@@ -20,17 +23,27 @@ import org.opendaylight.restconf.simple.RestConfModule;
 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());
 
@@ -53,15 +66,9 @@ public class GeniusModule extends AbstractModule {
         // 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);
diff --git a/src/main/java/org/opendaylight/genius/simple/IdManagerModule.java b/src/main/java/org/opendaylight/genius/simple/IdManagerModule.java
deleted file mode 100644 (file)
index af58f84..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * 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);
-    }
-
-}
index 711473c0e27aa34a2524854e05427c6c29385549..f36eb22b65e522810d384216e437f07c4bff5da5 100644 (file)
@@ -9,27 +9,7 @@ package org.opendaylight.genius.simple;
 
 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;
 
@@ -70,24 +50,5 @@ public class InterfaceManagerModule extends AbstractModule {
                 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);
     }
 }
index 4ebb3fa4e5dc210d2ab780d3680d53e534646126..4be5dfd80e6fc47571822a4ac2a127304f332c57 100644 (file)
@@ -10,21 +10,10 @@ package org.opendaylight.genius.simple;
 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 {
 
@@ -32,8 +21,6 @@ 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)
@@ -41,15 +28,6 @@ public class ItmModule extends AbstractModule {
                 .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);
diff --git a/src/main/java/org/opendaylight/genius/simple/LockManagerModule.java b/src/main/java/org/opendaylight/genius/simple/LockManagerModule.java
deleted file mode 100644 (file)
index 1555a94..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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);
-    }
-
-}
diff --git a/src/main/java/org/opendaylight/genius/simple/MdsalUtilModule.java b/src/main/java/org/opendaylight/genius/simple/MdsalUtilModule.java
deleted file mode 100644 (file)
index 71b9ae9..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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);
-    }
-}