X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openstack%2Fnet-virt%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fovsdb%2Fopenstack%2Fnetvirt%2Fimpl%2FNodeCacheManagerImpl.java;h=7e21101e004a9e3cff4cab2f7adeacd8f6240e48;hb=79294f7c4884d0fd2ab27dd9dfbd0b59c888d4e3;hp=b6b36a57cf1fb0921baf526a3f05407d77905d81;hpb=06571b9ad2aa0796ae71f7ac021a3167341cd317;p=netvirt.git diff --git a/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NodeCacheManagerImpl.java b/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NodeCacheManagerImpl.java index b6b36a57cf..7e21101e00 100644 --- a/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NodeCacheManagerImpl.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NodeCacheManagerImpl.java @@ -23,7 +23,7 @@ import org.opendaylight.ovsdb.openstack.netvirt.api.Southbound; import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; -import org.osgi.framework.BundleContext; + import org.osgi.framework.ServiceReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -164,14 +164,27 @@ public class NodeCacheManagerImpl extends AbstractHandler implements NodeCacheMa return nodes; } + private void populateNodeCache() { + LOG.debug("populateNodeCache : Populating the node cache"); + List nodes = southbound.readOvsdbTopologyNodes(); + for(Node ovsdbNode : nodes) { + this.nodeCache.put(ovsdbNode.getNodeId(), ovsdbNode); + } + nodes = southbound.readOvsdbTopologyBridgeNodes(); + for(Node bridgeNode : nodes) { + this.nodeCache.put(bridgeNode.getNodeId(), bridgeNode); + } + LOG.debug("populateNodeCache : Node cache population is done. Total nodes : {}",this.nodeCache.size()); + } + @Override - public void setDependencies(BundleContext bundleContext, ServiceReference serviceReference) { + public void setDependencies(ServiceReference serviceReference) { southbound = (Southbound) ServiceHelper.getGlobalInstance(Southbound.class, this); eventDispatcher = (EventDispatcher) ServiceHelper.getGlobalInstance(EventDispatcher.class, this); - eventDispatcher.eventHandlerAdded( - bundleContext.getServiceReference(NodeCacheManager.class.getName()), this); + eventDispatcher.eventHandlerAdded(serviceReference, this); + populateNodeCache(); } @Override