| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 1 | 0.0% | 50.0% | 50.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.ElanException |
org.opendaylight.netvirt.elan.internal |
java.lang |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 15 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.cli.ElanAdd org.opendaylight.netvirt.elan.cli.ElanDelete org.opendaylight.netvirt.elan.cli.ElanGet org.opendaylight.netvirt.elan.cli.ElanInterfaceAdd org.opendaylight.netvirt.elan.cli.ElanInterfaceDelete org.opendaylight.netvirt.elan.cli.ElanInterfaceGet org.opendaylight.netvirt.elan.cli.ElanInterfaceUpdate org.opendaylight.netvirt.elan.cli.ElanMacTableFlush org.opendaylight.netvirt.elan.cli.ElanMacTableGet org.opendaylight.netvirt.elan.cli.ElanUpdate org.opendaylight.netvirt.elan.cli.StaticMacAdd org.opendaylight.netvirt.elan.cli.StaticMacDelete |
None | java.io java.lang java.math java.text java.util org.apache.felix.service.command org.apache.karaf.shell.console org.opendaylight.genius.interfacemanager.globals org.opendaylight.genius.interfacemanager.interfaces org.opendaylight.netvirt.elan.utils org.opendaylight.netvirt.elanmanager.api org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.forwarding.entries org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 13 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.cli.etree.EtreeAdd org.opendaylight.netvirt.elan.cli.etree.EtreeDelete org.opendaylight.netvirt.elan.cli.etree.EtreeGet org.opendaylight.netvirt.elan.cli.etree.EtreeInterfaceAdd org.opendaylight.netvirt.elan.cli.etree.EtreeInterfaceDelete org.opendaylight.netvirt.elan.cli.etree.EtreeInterfaceGet |
None | java.io java.lang java.util org.apache.felix.service.command org.apache.karaf.shell.console org.opendaylight.genius.interfacemanager.globals org.opendaylight.genius.interfacemanager.interfaces org.opendaylight.netvirt.elan.utils org.opendaylight.netvirt.elanmanager.api org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.etree.rev160614 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 40 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.cli.l2gw.L2GwUtilsCacheCli org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli$1 org.opendaylight.netvirt.elan.cli.l2gw.NetworkL2gwDeviceInfoCli |
None | com.google.common.base com.google.common.collect com.google.common.util.concurrent java.io java.lang java.util java.util.concurrent org.apache.felix.service.command org.apache.karaf.shell.console org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.mdsalutil org.opendaylight.genius.utils.cache org.opendaylight.genius.utils.hwvtep org.opendaylight.netvirt.elan.l2gw.ha org.opendaylight.netvirt.elan.l2gw.ha.commands org.opendaylight.netvirt.elan.l2gw.utils org.opendaylight.netvirt.elan.utils org.opendaylight.netvirt.elanmanager.utils org.opendaylight.netvirt.neutronvpn.api.l2gw org.opendaylight.netvirt.neutronvpn.api.l2gw.utils org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.attributes.devices org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.connections.attributes.l2gatewayconnections org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateways.attributes.l2gateways org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical.locator.set.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical.port.attributes org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 49 | 0.0% | 96.0% | 4.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.internal.ElanBridgeManager org.opendaylight.netvirt.elan.internal.ElanInstanceManager org.opendaylight.netvirt.elan.internal.ElanInterfaceStateChangeListener org.opendaylight.netvirt.elan.internal.ElanItmEventListener org.opendaylight.netvirt.elan.internal.ElanLearntVpnVipToPortListener org.opendaylight.netvirt.elan.internal.ElanLearntVpnVipToPortListener$StaticMacAddWorker org.opendaylight.netvirt.elan.internal.ElanLearntVpnVipToPortListener$StaticMacRemoveWorker org.opendaylight.netvirt.elan.internal.ElanManagerCounters org.opendaylight.netvirt.elan.internal.ElanNodeListener org.opendaylight.netvirt.elan.internal.ElanOvsdbNodeListener org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener$1 org.opendaylight.netvirt.elan.internal.InterfaceAddWorkerOnElan org.opendaylight.netvirt.elan.internal.InterfaceAddWorkerOnElanInterface org.opendaylight.netvirt.elan.internal.InterfaceRemoveWorkerOnElan org.opendaylight.netvirt.elan.internal.InterfaceRemoveWorkerOnElanInterface |
org.opendaylight.netvirt.elan.l2gw.listeners org.opendaylight.netvirt.elan.l2gw.utils |
com.google.common.base com.google.common.util.concurrent java.lang java.math java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.datastoreutils org.opendaylight.genius.interfacemanager.globals org.opendaylight.genius.interfacemanager.interfaces org.opendaylight.genius.mdsalutil org.opendaylight.genius.mdsalutil.interfaces org.opendaylight.infrautils.counters.api org.opendaylight.netvirt.elan org.opendaylight.netvirt.elan.utils org.opendaylight.netvirt.elanmanager.api org.opendaylight.ovsdb.utils.config org.opendaylight.ovsdb.utils.mdsal.utils org.opendaylight.ovsdb.utils.southbound.utils org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819 org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._if.indexes._interface.map org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819 org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.etree.rev160614 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.dpn.interfaces org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.state org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.tag.name.map org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.forwarding.entries org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.learnt.vpn.vip.to.port.data org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105 org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology org.opendaylight.yangtools.concepts org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 5 | 23 | 0.0% | 82.0% | 18.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil$1 |
org.opendaylight.netvirt.elan.cli.l2gw org.opendaylight.netvirt.elan.l2gw.ha.commands org.opendaylight.netvirt.elan.l2gw.ha.handlers org.opendaylight.netvirt.elan.l2gw.ha.listeners org.opendaylight.netvirt.elan.l2gw.listeners |
com.google.common.base com.google.common.collect com.google.common.util.concurrent java.lang java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.utils.hwvtep org.opendaylight.netvirt.elan.l2gw.ha.commands org.opendaylight.netvirt.neutronvpn.api.l2gw org.opendaylight.netvirt.neutronvpn.api.l2gw.utils org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.managers org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 4 | 20 | 20.0% | 83.0% | 3.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.opendaylight.netvirt.elan.l2gw.ha.commands.BaseCommand org.opendaylight.netvirt.elan.l2gw.ha.commands.IMergeCommand org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand |
org.opendaylight.netvirt.elan.l2gw.ha.commands.LocalMcastCmd org.opendaylight.netvirt.elan.l2gw.ha.commands.LocalUcastCmd org.opendaylight.netvirt.elan.l2gw.ha.commands.LogicalSwitchesCmd org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand$LocatorSetComparator org.opendaylight.netvirt.elan.l2gw.ha.commands.PhysicalLocatorCmd org.opendaylight.netvirt.elan.l2gw.ha.commands.RemoteMcastCmd org.opendaylight.netvirt.elan.l2gw.ha.commands.RemoteUcastCmd org.opendaylight.netvirt.elan.l2gw.ha.commands.SwitchesCmd org.opendaylight.netvirt.elan.l2gw.ha.commands.TerminationPointCmd org.opendaylight.netvirt.elan.l2gw.ha.commands.TerminationPointCmd$1 org.opendaylight.netvirt.elan.l2gw.ha.commands.TerminationPointCmd$BindingsComparator org.opendaylight.netvirt.elan.l2gw.ha.commands.TunnelCmd |
org.opendaylight.netvirt.elan.cli.l2gw org.opendaylight.netvirt.elan.l2gw.ha org.opendaylight.netvirt.elan.l2gw.ha.listeners org.opendaylight.netvirt.elan.l2gw.ha.merge |
com.google.common.base com.google.common.collect java.lang java.util org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.netvirt.elan.l2gw.ha org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical.locator.set.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical.port.attributes org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node org.opendaylight.yangtools.concepts org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 18 | 14.0% | 95.0% | 9.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.opendaylight.netvirt.elan.l2gw.ha.handlers.IHAEventHandler |
org.opendaylight.netvirt.elan.l2gw.ha.handlers.ConfigNodeUpdatedHandler org.opendaylight.netvirt.elan.l2gw.ha.handlers.HAEventHandler org.opendaylight.netvirt.elan.l2gw.ha.handlers.NodeConnectedHandler org.opendaylight.netvirt.elan.l2gw.ha.handlers.NodeConnectedHandler$1 org.opendaylight.netvirt.elan.l2gw.ha.handlers.NodeDisconnectedHandler org.opendaylight.netvirt.elan.l2gw.ha.handlers.OpNodeUpdatedHandler |
org.opendaylight.netvirt.elan.l2gw.ha.listeners |
com.google.common.base com.google.common.collect com.google.common.util.concurrent java.lang java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.utils.hwvtep org.opendaylight.netvirt.elan.l2gw.ha org.opendaylight.netvirt.elan.l2gw.ha.listeners org.opendaylight.netvirt.elan.l2gw.ha.merge org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 20 | 0.0% | 91.0% | 9.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAConfigNodeListener org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAJobScheduler org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAListeners org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAListeners$GlobalAugmentationListener org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAListeners$PhysicalLocatorListener org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpClusteredListener org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener$1 org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener$1$1 |
org.opendaylight.netvirt.elan.l2gw.ha.handlers org.opendaylight.netvirt.elan.l2gw.listeners |
com.google.common.base com.google.common.util.concurrent java.lang java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.utils.hwvtep org.opendaylight.netvirt.elan.l2gw.ha org.opendaylight.netvirt.elan.l2gw.ha.commands org.opendaylight.netvirt.elan.l2gw.ha.handlers org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node org.opendaylight.yangtools.concepts org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 7 | 20.0% | 88.0% | 8.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.opendaylight.netvirt.elan.l2gw.ha.merge.MergeCommandsAggregator |
org.opendaylight.netvirt.elan.l2gw.ha.merge.GlobalAugmentationMerger org.opendaylight.netvirt.elan.l2gw.ha.merge.GlobalNodeMerger org.opendaylight.netvirt.elan.l2gw.ha.merge.PSAugmentationMerger org.opendaylight.netvirt.elan.l2gw.ha.merge.PSNodeMerger |
org.opendaylight.netvirt.elan.l2gw.ha.handlers |
com.google.common.collect java.lang java.util org.opendaylight.controller.md.sal.binding.api org.opendaylight.netvirt.elan.l2gw.ha.commands org.opendaylight.yangtools.concepts org.opendaylight.yangtools.yang.binding |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 2 | 17 | 0.0% | 89.0% | 11.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.l2gw.jobs.AssociateHwvtepToElanJob org.opendaylight.netvirt.elan.l2gw.jobs.AssociateHwvtepToElanJob$1 org.opendaylight.netvirt.elan.l2gw.jobs.DeleteL2GwDeviceMacsFromElanJob org.opendaylight.netvirt.elan.l2gw.jobs.DeleteL2GwDeviceMacsFromElanJob$1 org.opendaylight.netvirt.elan.l2gw.jobs.DeleteLogicalSwitchJob org.opendaylight.netvirt.elan.l2gw.jobs.DisAssociateHwvtepFromElanJob org.opendaylight.netvirt.elan.l2gw.jobs.HwvtepDeviceMcastMacUpdateJob |
org.opendaylight.netvirt.elan.l2gw.listeners org.opendaylight.netvirt.elan.l2gw.utils |
com.google.common.collect com.google.common.util.concurrent java.lang java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.genius.utils.hwvtep org.opendaylight.netvirt.elan.l2gw.utils org.opendaylight.netvirt.elan.utils org.opendaylight.netvirt.elanmanager.utils org.opendaylight.netvirt.neutronvpn.api.l2gw org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901 org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 48 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.l2gw.listeners.ElanGroupListener org.opendaylight.netvirt.elan.l2gw.listeners.ElanGroupListener$1 org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepLocalUcastMacListener org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepLogicalSwitchListener org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener$1 org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepRemoteMcastMacListener org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepTerminationPointListener$1 org.opendaylight.netvirt.elan.l2gw.listeners.L2GatewayConnectionListener |
None | com.google.common.base com.google.common.collect com.google.common.util.concurrent java.lang java.math java.util java.util.concurrent java.util.concurrent.atomic org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.clustering org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.datastoreutils org.opendaylight.genius.datastoreutils.hwvtep org.opendaylight.genius.mdsalutil org.opendaylight.genius.utils org.opendaylight.genius.utils.hwvtep org.opendaylight.netvirt.elan.internal org.opendaylight.netvirt.elan.l2gw.ha org.opendaylight.netvirt.elan.l2gw.ha.listeners org.opendaylight.netvirt.elan.l2gw.jobs org.opendaylight.netvirt.elan.l2gw.utils org.opendaylight.netvirt.elan.utils org.opendaylight.netvirt.elanmanager.utils org.opendaylight.netvirt.neutronvpn.api.l2gw org.opendaylight.netvirt.neutronvpn.api.l2gw.utils org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406 org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018 org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819 org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.connections.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.connections.attributes.l2gatewayconnections org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical._switch.attributes org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology org.opendaylight.yangtools.concepts org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 3 | 31 | 0.0% | 91.0% | 9.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayMulticastUtils org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils$1 org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils$2 org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils$3 org.opendaylight.netvirt.elan.l2gw.utils.SettableFutureCallback |
org.opendaylight.netvirt.elan.cli.l2gw org.opendaylight.netvirt.elan.l2gw.jobs org.opendaylight.netvirt.elan.l2gw.listeners |
com.google.common.base com.google.common.collect com.google.common.util.concurrent java.lang java.math java.util java.util.concurrent org.apache.commons.lang3.tuple org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.datastoreutils org.opendaylight.genius.mdsalutil org.opendaylight.genius.utils org.opendaylight.genius.utils.hwvtep org.opendaylight.netvirt.elan.internal org.opendaylight.netvirt.elan.l2gw.jobs org.opendaylight.netvirt.elan.utils org.opendaylight.netvirt.elanmanager.utils org.opendaylight.netvirt.neutronvpn.api.l2gw org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.dhcp.rev160428 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.dhcp.rev160428.designated.switches._for.external.tunnels org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.dpn.interfaces.elan.dpn.interfaces.list org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.physical.locator.set.attributes org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 19 | 0.0% | 100.0% | 0.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.statisitcs.ElanStatisticsImpl |
None | com.google.common.util.concurrent java.lang java.math java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.genius.interfacemanager.globals org.opendaylight.genius.interfacemanager.interfaces org.opendaylight.genius.mdsalutil org.opendaylight.genius.utils org.opendaylight.netvirt.elan.utils org.opendaylight.yang.gen.v1.urn.opendaylight.genius._interface.statistics.rev150824 org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.statistics.rev150824 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.statistics.rev150824.get.elan._interface.statistics.output org.opendaylight.yangtools.yang.common org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 0 | 4 | 67.0% | 100.0% | 67.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitor org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitorMBean |
org.opendaylight.netvirt.elan.statusanddiag.ElanStatusMonitorJMX |
None | java.lang java.lang.management javax.management org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 8 | 24 | 0.0% | 75.0% | 25.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| None | org.opendaylight.netvirt.elan.utils.CacheElanInstanceListener org.opendaylight.netvirt.elan.utils.CacheElanInstanceListener$1 org.opendaylight.netvirt.elan.utils.CacheElanInterfaceListener org.opendaylight.netvirt.elan.utils.CacheElanInterfaceListener$1 org.opendaylight.netvirt.elan.utils.ElanCLIUtils org.opendaylight.netvirt.elan.utils.ElanClusterUtils org.opendaylight.netvirt.elan.utils.ElanClusterUtils$1 org.opendaylight.netvirt.elan.utils.ElanClusterUtils$2 org.opendaylight.netvirt.elan.utils.ElanConstants org.opendaylight.netvirt.elan.utils.ElanForwardingEntriesHandler org.opendaylight.netvirt.elan.utils.ElanUtils$1 |
org.opendaylight.netvirt.elan.cli org.opendaylight.netvirt.elan.cli.etree org.opendaylight.netvirt.elan.cli.l2gw org.opendaylight.netvirt.elan.internal org.opendaylight.netvirt.elan.l2gw.jobs org.opendaylight.netvirt.elan.l2gw.listeners org.opendaylight.netvirt.elan.l2gw.utils org.opendaylight.netvirt.elan.statisitcs |
com.google.common.base com.google.common.util.concurrent java.lang java.math java.util java.util.concurrent org.opendaylight.controller.md.sal.binding.api org.opendaylight.controller.md.sal.common.api.clustering org.opendaylight.controller.md.sal.common.api.data org.opendaylight.genius.datastoreutils org.opendaylight.genius.interfacemanager.globals org.opendaylight.genius.utils org.opendaylight.genius.utils.clustering org.opendaylight.genius.utils.hwvtep org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.forwarding.entries org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021 org.opendaylight.yangtools.concepts org.opendaylight.yangtools.yang.binding org.slf4j |
| Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
|---|---|---|---|---|
| 1 | 6 | 29.0% | 86.0% | 14.0% |
| Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
|---|---|---|---|
| org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfig org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfigData |
org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.$YangModelBindingProvider org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.$YangModuleInfoImpl org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfigBuilder org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfigBuilder$1 org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfigBuilder$ElanConfigImpl |
org.opendaylight.netvirt.elan.internal |
java.io java.lang java.util org.opendaylight.yangtools.concepts org.opendaylight.yangtools.yang.binding org.opendaylight.yangtools.yang.common |
| Package | Package Dependencies |
|---|---|
| org.opendaylight.netvirt.elan.cli.l2gw | org.opendaylight.netvirt.elan.l2gw.ha.commands org.opendaylight.netvirt.elan.l2gw.ha org.opendaylight.netvirt.elan.l2gw.ha.commands |
| org.opendaylight.netvirt.elan.l2gw.ha | org.opendaylight.netvirt.elan.l2gw.ha.commands org.opendaylight.netvirt.elan.l2gw.ha |
| org.opendaylight.netvirt.elan.l2gw.ha.commands | org.opendaylight.netvirt.elan.l2gw.ha org.opendaylight.netvirt.elan.l2gw.ha.commands |
| org.opendaylight.netvirt.elan.l2gw.ha.handlers | org.opendaylight.netvirt.elan.l2gw.ha.listeners org.opendaylight.netvirt.elan.l2gw.ha.handlers |
| org.opendaylight.netvirt.elan.l2gw.ha.listeners | org.opendaylight.netvirt.elan.l2gw.ha.handlers org.opendaylight.netvirt.elan.l2gw.ha.listeners |
| org.opendaylight.netvirt.elan.l2gw.ha.merge | org.opendaylight.netvirt.elan.l2gw.ha.commands org.opendaylight.netvirt.elan.l2gw.ha org.opendaylight.netvirt.elan.l2gw.ha.commands |
| org.opendaylight.netvirt.elan.l2gw.jobs | org.opendaylight.netvirt.elan.l2gw.utils org.opendaylight.netvirt.elan.l2gw.jobs |
| org.opendaylight.netvirt.elan.l2gw.listeners | org.opendaylight.netvirt.elan.l2gw.utils org.opendaylight.netvirt.elan.l2gw.jobs org.opendaylight.netvirt.elan.l2gw.utils |
| org.opendaylight.netvirt.elan.l2gw.utils | org.opendaylight.netvirt.elan.l2gw.jobs org.opendaylight.netvirt.elan.l2gw.utils |
| Term | Description |
|---|---|
| Number of Classes | The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package. |
| Afferent Couplings | The number of other packages that depend upon classes within the package is an indicator of the package's responsibility. |
| Efferent Couplings | The number of other packages that the classes in the package depend upon is an indicator of the package's independence. |
| Abstractness | The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. |
| Instability | The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package. |
| Distance | The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. |
| Cycles | Packages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques. |