X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=apps%2Fnetconf-topology-singleton%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Ftopology%2Fsingleton%2Fimpl%2Futils%2FNetconfTopologySetup.java;h=e6ea772e2eb79ec0973de05aa25766308d2b2e18;hb=493d1f617e491d0c4deb8f49079eecf0864f8d80;hp=7a0f3c0d99b9291a0f09809857e83b9fa9ad9b74;hpb=933399ccca42ce1e7ac1c9627e1b22168c85355a;p=netconf.git diff --git a/apps/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/utils/NetconfTopologySetup.java b/apps/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/utils/NetconfTopologySetup.java index 7a0f3c0d99..e6ea772e2e 100644 --- a/apps/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/utils/NetconfTopologySetup.java +++ b/apps/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/utils/NetconfTopologySetup.java @@ -10,49 +10,41 @@ package org.opendaylight.netconf.topology.singleton.impl.utils; import static java.util.Objects.requireNonNull; import akka.actor.ActorSystem; -import com.google.common.util.concurrent.ListeningExecutorService; -import io.netty.util.concurrent.EventExecutor; +import io.netty.util.Timer; import java.time.Duration; -import java.util.concurrent.ScheduledExecutorService; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.api.DataBroker; -import org.opendaylight.mdsal.dom.api.DOMActionProviderService; -import org.opendaylight.mdsal.dom.api.DOMRpcProviderService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider; -import org.opendaylight.netconf.client.NetconfClientDispatcher; +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.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; -public class NetconfTopologySetup { +public final class NetconfTopologySetup { private final ClusterSingletonServiceProvider clusterSingletonServiceProvider; - private final DOMRpcProviderService rpcProviderRegistry; - private final DOMActionProviderService actionProviderRegistry; private final DataBroker dataBroker; private final InstanceIdentifier instanceIdentifier; private final Node node; - private final ScheduledExecutorService keepaliveExecutor; - private final ListeningExecutorService processingExecutor; + private final Timer timer; + private final NetconfTopologySchemaAssembler schemaAssembler; private final ActorSystem actorSystem; - private final EventExecutor eventExecutor; - private final NetconfClientDispatcher netconfClientDispatcher; + private final NetconfClientFactory netconfClientFactory; private final String topologyId; private final NetconfDevice.SchemaResourcesDTO schemaResourceDTO; private final Duration idleTimeout; private final BaseNetconfSchemas baseSchemas; - NetconfTopologySetup(final NetconfTopologySetupBuilder builder) { + private NetconfTopologySetup(final Builder builder) { clusterSingletonServiceProvider = builder.getClusterSingletonServiceProvider(); - rpcProviderRegistry = builder.getRpcProviderRegistry(); - actionProviderRegistry = builder.getActionProviderRegistry(); dataBroker = builder.getDataBroker(); instanceIdentifier = builder.getInstanceIdentifier(); node = builder.getNode(); - keepaliveExecutor = builder.getKeepaliveExecutor(); - processingExecutor = builder.getProcessingExecutor(); + timer = builder.getTimer(); + schemaAssembler = builder.getSchemaAssembler(); actorSystem = builder.getActorSystem(); - eventExecutor = builder.getEventExecutor(); - netconfClientDispatcher = builder.getNetconfClientDispatcher(); + netconfClientFactory = builder.getNetconfClientFactory(); topologyId = builder.getTopologyId(); schemaResourceDTO = builder.getSchemaResourceDTO(); idleTimeout = builder.getIdleTimeout(); @@ -63,14 +55,6 @@ public class NetconfTopologySetup { return clusterSingletonServiceProvider; } - public DOMRpcProviderService getRpcProviderRegistry() { - return rpcProviderRegistry; - } - - public DOMActionProviderService getActionProviderRegistry() { - return actionProviderRegistry; - } - public DataBroker getDataBroker() { return dataBroker; } @@ -83,28 +67,24 @@ public class NetconfTopologySetup { return node; } - public ListeningExecutorService getProcessingExecutor() { - return processingExecutor; + public NetconfTopologySchemaAssembler getSchemaAssembler() { + return schemaAssembler; } - public ScheduledExecutorService getKeepaliveExecutor() { - return keepaliveExecutor; + public Timer getTimer() { + return timer; } public ActorSystem getActorSystem() { return actorSystem; } - public EventExecutor getEventExecutor() { - return eventExecutor; - } - public String getTopologyId() { return topologyId; } - public NetconfClientDispatcher getNetconfClientDispatcher() { - return netconfClientDispatcher; + public NetconfClientFactory getNetconfClientFactory() { + return netconfClientFactory; } public NetconfDevice.SchemaResourcesDTO getSchemaResourcesDTO() { @@ -119,32 +99,33 @@ public class NetconfTopologySetup { return baseSchemas; } - public static class NetconfTopologySetupBuilder { + public static @NonNull Builder builder() { + return new Builder(); + } + + public static final class Builder { private ClusterSingletonServiceProvider clusterSingletonServiceProvider; - private DOMRpcProviderService rpcProviderRegistry; - private DOMActionProviderService actionProviderRegistry; private DataBroker dataBroker; private InstanceIdentifier instanceIdentifier; private Node node; - private ScheduledExecutorService keepaliveExecutor; - private ListeningExecutorService processingExecutor; + private Timer timer; + private NetconfTopologySchemaAssembler schemaAssembler; private ActorSystem actorSystem; - private EventExecutor eventExecutor; private String topologyId; - private NetconfClientDispatcher netconfClientDispatcher; + private NetconfClientFactory netconfClientFactory; private NetconfDevice.SchemaResourcesDTO schemaResourceDTO; private Duration idleTimeout; private BaseNetconfSchemas baseSchemas; - public NetconfTopologySetupBuilder() { - + private Builder() { + // Hidden on purpose } BaseNetconfSchemas getBaseSchemas() { return requireNonNull(baseSchemas, "BaseSchemas not initialized"); } - public NetconfTopologySetupBuilder setBaseSchemas(final BaseNetconfSchemas baseSchemas) { + public Builder setBaseSchemas(final BaseNetconfSchemas baseSchemas) { this.baseSchemas = requireNonNull(baseSchemas); return this; } @@ -153,36 +134,17 @@ public class NetconfTopologySetup { return clusterSingletonServiceProvider; } - public NetconfTopologySetupBuilder setClusterSingletonServiceProvider( + public Builder setClusterSingletonServiceProvider( final ClusterSingletonServiceProvider clusterSingletonServiceProvider) { this.clusterSingletonServiceProvider = clusterSingletonServiceProvider; return this; } - DOMRpcProviderService getRpcProviderRegistry() { - return rpcProviderRegistry; - } - - public NetconfTopologySetupBuilder setRpcProviderRegistry(final DOMRpcProviderService rpcProviderRegistry) { - this.rpcProviderRegistry = rpcProviderRegistry; - return this; - } - - DOMActionProviderService getActionProviderRegistry() { - return actionProviderRegistry; - } - - public NetconfTopologySetupBuilder setActionProviderRegistry( - final DOMActionProviderService actionProviderRegistry) { - this.actionProviderRegistry = actionProviderRegistry; - return this; - } - DataBroker getDataBroker() { return dataBroker; } - public NetconfTopologySetupBuilder setDataBroker(final DataBroker dataBroker) { + public Builder setDataBroker(final DataBroker dataBroker) { this.dataBroker = dataBroker; return this; } @@ -191,7 +153,7 @@ public class NetconfTopologySetup { return instanceIdentifier; } - public NetconfTopologySetupBuilder setInstanceIdentifier(final InstanceIdentifier instanceIdentifier) { + public Builder setInstanceIdentifier(final InstanceIdentifier instanceIdentifier) { this.instanceIdentifier = instanceIdentifier; return this; } @@ -200,7 +162,7 @@ public class NetconfTopologySetup { return node; } - public NetconfTopologySetupBuilder setNode(final Node node) { + public Builder setNode(final Node node) { this.node = node; return this; } @@ -209,21 +171,22 @@ public class NetconfTopologySetup { return new NetconfTopologySetup(this); } - ScheduledExecutorService getKeepaliveExecutor() { - return keepaliveExecutor; + Timer getTimer() { + return timer; } - public NetconfTopologySetupBuilder setKeepaliveExecutor(final ScheduledExecutorService keepaliveExecutor) { - this.keepaliveExecutor = keepaliveExecutor; + public Builder setTimer(final Timer timer) { + this.timer = requireNonNull(timer); return this; } - ListeningExecutorService getProcessingExecutor() { - return processingExecutor; + + NetconfTopologySchemaAssembler getSchemaAssembler() { + return schemaAssembler; } - public NetconfTopologySetupBuilder setProcessingExecutor(final ListeningExecutorService processingExecutor) { - this.processingExecutor = processingExecutor; + public Builder setSchemaAssembler(final NetconfTopologySchemaAssembler schemaAssembler) { + this.schemaAssembler = schemaAssembler; return this; } @@ -231,39 +194,30 @@ public class NetconfTopologySetup { return actorSystem; } - public NetconfTopologySetupBuilder setActorSystem(final ActorSystem actorSystem) { + public Builder setActorSystem(final ActorSystem actorSystem) { this.actorSystem = actorSystem; return this; } - EventExecutor getEventExecutor() { - return eventExecutor; - } - - public NetconfTopologySetupBuilder setEventExecutor(final EventExecutor eventExecutor) { - this.eventExecutor = eventExecutor; - return this; - } - String getTopologyId() { return topologyId; } - public NetconfTopologySetupBuilder setTopologyId(final String topologyId) { + public Builder setTopologyId(final String topologyId) { this.topologyId = topologyId; return this; } - NetconfClientDispatcher getNetconfClientDispatcher() { - return netconfClientDispatcher; + NetconfClientFactory getNetconfClientFactory() { + return netconfClientFactory; } - public NetconfTopologySetupBuilder setNetconfClientDispatcher(final NetconfClientDispatcher clientDispatcher) { - netconfClientDispatcher = clientDispatcher; + public Builder setNetconfClientFactory(final NetconfClientFactory clientFactory) { + netconfClientFactory = clientFactory; return this; } - public NetconfTopologySetupBuilder setSchemaResourceDTO( + public Builder setSchemaResourceDTO( final NetconfDevice.SchemaResourcesDTO schemaResourceDTO) { this.schemaResourceDTO = schemaResourceDTO; return this; @@ -273,7 +227,7 @@ public class NetconfTopologySetup { return schemaResourceDTO; } - public NetconfTopologySetupBuilder setIdleTimeout(final Duration idleTimeout) { + public Builder setIdleTimeout(final Duration idleTimeout) { this.idleTimeout = idleTimeout; return this; } @@ -281,9 +235,5 @@ public class NetconfTopologySetup { Duration getIdleTimeout() { return idleTimeout; } - - public static NetconfTopologySetupBuilder create() { - return new NetconfTopologySetupBuilder(); - } } } \ No newline at end of file