Introduce NetconfTimer
[netconf.git] / apps / netconf-topology-singleton / src / main / java / org / opendaylight / netconf / topology / singleton / impl / utils / NetconfTopologySetup.java
index 398b9eb4e1bf3edeb7169a65d73119bc3d2ebda8..e44ad70a961050cf5357940189fae9a65ba9e83a 100644 (file)
@@ -11,14 +11,14 @@ import static java.util.Objects.requireNonNull;
 
 import akka.actor.ActorSystem;
 import java.time.Duration;
-import java.util.concurrent.Executor;
-import java.util.concurrent.ScheduledExecutorService;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
 import org.opendaylight.netconf.client.NetconfClientFactory;
 import org.opendaylight.netconf.client.mdsal.NetconfDevice;
 import org.opendaylight.netconf.client.mdsal.api.BaseNetconfSchemas;
+import org.opendaylight.netconf.common.NetconfTimer;
+import org.opendaylight.netconf.topology.spi.NetconfTopologySchemaAssembler;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
@@ -27,8 +27,8 @@ public final class NetconfTopologySetup {
     private final DataBroker dataBroker;
     private final InstanceIdentifier<Node> instanceIdentifier;
     private final Node node;
-    private final ScheduledExecutorService keepaliveExecutor;
-    private final Executor processingExecutor;
+    private final NetconfTimer timer;
+    private final NetconfTopologySchemaAssembler schemaAssembler;
     private final ActorSystem actorSystem;
     private final NetconfClientFactory netconfClientFactory;
     private final String topologyId;
@@ -41,8 +41,8 @@ public final class NetconfTopologySetup {
         dataBroker = builder.getDataBroker();
         instanceIdentifier = builder.getInstanceIdentifier();
         node = builder.getNode();
-        keepaliveExecutor = builder.getKeepaliveExecutor();
-        processingExecutor = builder.getProcessingExecutor();
+        timer = builder.getTimer();
+        schemaAssembler = builder.getSchemaAssembler();
         actorSystem = builder.getActorSystem();
         netconfClientFactory = builder.getNetconfClientFactory();
         topologyId = builder.getTopologyId();
@@ -67,12 +67,12 @@ public final class NetconfTopologySetup {
         return node;
     }
 
-    public Executor getProcessingExecutor() {
-        return processingExecutor;
+    public NetconfTopologySchemaAssembler getSchemaAssembler() {
+        return schemaAssembler;
     }
 
-    public ScheduledExecutorService getKeepaliveExecutor() {
-        return keepaliveExecutor;
+    public NetconfTimer getTimer() {
+        return timer;
     }
 
     public ActorSystem getActorSystem() {
@@ -108,8 +108,8 @@ public final class NetconfTopologySetup {
         private DataBroker dataBroker;
         private InstanceIdentifier<Node> instanceIdentifier;
         private Node node;
-        private ScheduledExecutorService keepaliveExecutor;
-        private Executor processingExecutor;
+        private NetconfTimer timer;
+        private NetconfTopologySchemaAssembler schemaAssembler;
         private ActorSystem actorSystem;
         private String topologyId;
         private NetconfClientFactory netconfClientFactory;
@@ -171,21 +171,22 @@ public final class NetconfTopologySetup {
             return new NetconfTopologySetup(this);
         }
 
-        ScheduledExecutorService getKeepaliveExecutor() {
-            return keepaliveExecutor;
+        NetconfTimer getTimer() {
+            return timer;
         }
 
-        public Builder setKeepaliveExecutor(final ScheduledExecutorService keepaliveExecutor) {
-            this.keepaliveExecutor = keepaliveExecutor;
+        public Builder setTimer(final NetconfTimer timer) {
+            this.timer = requireNonNull(timer);
             return this;
         }
 
-        Executor getProcessingExecutor() {
-            return processingExecutor;
+
+        NetconfTopologySchemaAssembler getSchemaAssembler() {
+            return schemaAssembler;
         }
 
-        public Builder setProcessingExecutor(final Executor processingExecutor) {
-            this.processingExecutor = processingExecutor;
+        public Builder setSchemaAssembler(final NetconfTopologySchemaAssembler schemaAssembler) {
+            this.schemaAssembler = schemaAssembler;
             return this;
         }