Class HAOpClusteredListener

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.util.EventListener, org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>, org.opendaylight.mdsal.binding.api.DataTreeChangeListener<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>, org.opendaylight.serviceutils.srm.RecoverableListener

    @Singleton
    public class HAOpClusteredListener
    extends HwvtepNodeBaseListener<org.opendaylight.mdsal.binding.util.Datastore.Operational>
    implements org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>, org.opendaylight.serviceutils.srm.RecoverableListener
    • Constructor Summary

      Constructors 
      Constructor Description
      HAOpClusteredListener​(org.opendaylight.mdsal.binding.api.DataBroker db, L2GatewayServiceRecoveryHandler l2GatewayServiceRecoveryHandler, org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry serviceRecoveryRegistry, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void addToCacheIfHAChildNode​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> childPath, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node childNode)  
      static void addToHACacheIfBecameHAChild​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> childPath, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node updatedChildNode, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node beforeChildNode)
      If Normal non-ha node changes to HA node , its added to HA cache.
      void deregisterListener()  
      java.util.Set<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> getConnected​(java.util.Set<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> candidateds)  
      java.util.Set<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> getConnectedNodes()  
      void onGlobalNodeAdd​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> key, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node updated, org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx)  
      void registerListener()  
      void runAfterNodeIsConnected​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> iid, java.util.function.Consumer<java.util.Optional<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> consumer)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.opendaylight.mdsal.binding.api.DataTreeChangeListener

        onDataTreeChanged, onInitialData
    • Constructor Detail

      • HAOpClusteredListener

        @Inject
        public HAOpClusteredListener​(org.opendaylight.mdsal.binding.api.DataBroker db,
                                     L2GatewayServiceRecoveryHandler l2GatewayServiceRecoveryHandler,
                                     org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry serviceRecoveryRegistry,
                                     org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
    • Method Detail

      • getConnectedNodes

        public java.util.Set<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> getConnectedNodes()
      • registerListener

        public void registerListener()
        Specified by:
        registerListener in interface org.opendaylight.serviceutils.srm.RecoverableListener
      • deregisterListener

        public void deregisterListener()
        Specified by:
        deregisterListener in interface org.opendaylight.serviceutils.srm.RecoverableListener
      • onGlobalNodeAdd

        public void onGlobalNodeAdd​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> key,
                                    org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node updated,
                                    org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx)
      • addToCacheIfHAChildNode

        public static void addToCacheIfHAChildNode​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> childPath,
                                                   org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node childNode)
      • addToHACacheIfBecameHAChild

        public static void addToHACacheIfBecameHAChild​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> childPath,
                                                       org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node updatedChildNode,
                                                       org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node beforeChildNode)
        If Normal non-ha node changes to HA node , its added to HA cache.
        Parameters:
        childPath - HA child path which got converted to HA node
        updatedChildNode - updated Child node
        beforeChildNode - non-ha node before updated to HA node
      • getConnected

        public java.util.Set<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> getConnected​(java.util.Set<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> candidateds)
      • runAfterNodeIsConnected

        public void runAfterNodeIsConnected​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> iid,
                                            java.util.function.Consumer<java.util.Optional<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>> consumer)