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.Executor;
import java.util.concurrent.ScheduledExecutorService;
-import org.opendaylight.aaa.encrypt.AAAEncryptionService;
+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.sal.connect.netconf.NetconfDevice;
-import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.BaseNetconfSchemas;
+import org.opendaylight.netconf.client.NetconfClientFactory;
+import org.opendaylight.netconf.client.mdsal.NetconfDevice;
+import org.opendaylight.netconf.client.mdsal.api.BaseNetconfSchemas;
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<Node> instanceIdentifier;
private final Node node;
+ private final Timer timer;
private final ScheduledExecutorService keepaliveExecutor;
- private final ListeningExecutorService processingExecutor;
+ private final Executor processingExecutor;
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 String privateKeyPath;
- private final String privateKeyPassphrase;
- private final AAAEncryptionService encryptionService;
private final BaseNetconfSchemas baseSchemas;
- NetconfTopologySetup(final NetconfTopologySetupBuilder builder) {
- this.clusterSingletonServiceProvider = builder.getClusterSingletonServiceProvider();
- this.rpcProviderRegistry = builder.getRpcProviderRegistry();
- this.actionProviderRegistry = builder.getActionProviderRegistry();
- this.dataBroker = builder.getDataBroker();
- this.instanceIdentifier = builder.getInstanceIdentifier();
- this.node = builder.getNode();
- this.keepaliveExecutor = builder.getKeepaliveExecutor();
- this.processingExecutor = builder.getProcessingExecutor();
- this.actorSystem = builder.getActorSystem();
- this.eventExecutor = builder.getEventExecutor();
- this.netconfClientDispatcher = builder.getNetconfClientDispatcher();
- this.topologyId = builder.getTopologyId();
- this.schemaResourceDTO = builder.getSchemaResourceDTO();
- this.idleTimeout = builder.getIdleTimeout();
- this.privateKeyPath = builder.getPrivateKeyPath();
- this.privateKeyPassphrase = builder.getPrivateKeyPassphrase();
- this.encryptionService = builder.getEncryptionService();
- this.baseSchemas = builder.getBaseSchemas();
+ private NetconfTopologySetup(final Builder builder) {
+ clusterSingletonServiceProvider = builder.getClusterSingletonServiceProvider();
+ dataBroker = builder.getDataBroker();
+ instanceIdentifier = builder.getInstanceIdentifier();
+ node = builder.getNode();
+ timer = builder.getTimer();
+ keepaliveExecutor = builder.getKeepaliveExecutor();
+ processingExecutor = builder.getProcessingExecutor();
+ actorSystem = builder.getActorSystem();
+ netconfClientFactory = builder.getNetconfClientFactory();
+ topologyId = builder.getTopologyId();
+ schemaResourceDTO = builder.getSchemaResourceDTO();
+ idleTimeout = builder.getIdleTimeout();
+ baseSchemas = builder.getBaseSchemas();
}
public ClusterSingletonServiceProvider getClusterSingletonServiceProvider() {
return clusterSingletonServiceProvider;
}
- public DOMRpcProviderService getRpcProviderRegistry() {
- return rpcProviderRegistry;
- }
-
- public DOMActionProviderService getActionProviderRegistry() {
- return actionProviderRegistry;
- }
-
public DataBroker getDataBroker() {
return dataBroker;
}
return node;
}
- public ListeningExecutorService getProcessingExecutor() {
+ public Executor getProcessingExecutor() {
return processingExecutor;
}
return keepaliveExecutor;
}
- public ActorSystem getActorSystem() {
- return actorSystem;
+ public Timer getTimer() {
+ return timer;
}
- public EventExecutor getEventExecutor() {
- return eventExecutor;
+ public ActorSystem getActorSystem() {
+ return actorSystem;
}
public String getTopologyId() {
return topologyId;
}
- public NetconfClientDispatcher getNetconfClientDispatcher() {
- return netconfClientDispatcher;
+ public NetconfClientFactory getNetconfClientFactory() {
+ return netconfClientFactory;
}
public NetconfDevice.SchemaResourcesDTO getSchemaResourcesDTO() {
return idleTimeout;
}
- public String getPrivateKeyPath() {
- return privateKeyPath;
- }
-
- public String getPrivateKeyPassphrase() {
- return privateKeyPassphrase;
- }
-
- public AAAEncryptionService getEncryptionService() {
- return encryptionService;
- }
-
public BaseNetconfSchemas getBaseSchemas() {
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<Node> instanceIdentifier;
private Node node;
+ private Timer timer;
private ScheduledExecutorService keepaliveExecutor;
- private ListeningExecutorService processingExecutor;
+ private Executor processingExecutor;
private ActorSystem actorSystem;
- private EventExecutor eventExecutor;
private String topologyId;
- private NetconfClientDispatcher netconfClientDispatcher;
+ private NetconfClientFactory netconfClientFactory;
private NetconfDevice.SchemaResourcesDTO schemaResourceDTO;
private Duration idleTimeout;
- private String privateKeyPath;
- private String privateKeyPassphrase;
- private AAAEncryptionService encryptionService;
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;
}
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;
}
return instanceIdentifier;
}
- public NetconfTopologySetupBuilder setInstanceIdentifier(final InstanceIdentifier<Node> instanceIdentifier) {
+ public Builder setInstanceIdentifier(final InstanceIdentifier<Node> instanceIdentifier) {
this.instanceIdentifier = instanceIdentifier;
return this;
}
return node;
}
- public NetconfTopologySetupBuilder setNode(final Node node) {
+ public Builder setNode(final Node node) {
this.node = node;
return this;
}
return new NetconfTopologySetup(this);
}
+ Timer getTimer() {
+ return timer;
+ }
+
+ public Builder setTimer(final Timer timer) {
+ this.timer = requireNonNull(timer);
+ return this;
+ }
+
ScheduledExecutorService getKeepaliveExecutor() {
return keepaliveExecutor;
}
- public NetconfTopologySetupBuilder setKeepaliveExecutor(final ScheduledExecutorService keepaliveExecutor) {
+ public Builder setKeepaliveExecutor(final ScheduledExecutorService keepaliveExecutor) {
this.keepaliveExecutor = keepaliveExecutor;
return this;
}
- ListeningExecutorService getProcessingExecutor() {
+ Executor getProcessingExecutor() {
return processingExecutor;
}
- public NetconfTopologySetupBuilder setProcessingExecutor(final ListeningExecutorService processingExecutor) {
+ public Builder setProcessingExecutor(final Executor processingExecutor) {
this.processingExecutor = processingExecutor;
return this;
}
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) {
- this.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;
return schemaResourceDTO;
}
- public NetconfTopologySetupBuilder setIdleTimeout(final Duration idleTimeout) {
+ public Builder setIdleTimeout(final Duration idleTimeout) {
this.idleTimeout = idleTimeout;
return this;
}
Duration getIdleTimeout() {
return idleTimeout;
}
-
- public NetconfTopologySetupBuilder setPrivateKeyPath(final String privateKeyPath) {
- this.privateKeyPath = privateKeyPath;
- return this;
- }
-
- public String getPrivateKeyPath() {
- return this.privateKeyPath;
- }
-
- public NetconfTopologySetupBuilder setPrivateKeyPassphrase(final String privateKeyPassphrase) {
- this.privateKeyPassphrase = privateKeyPassphrase;
- return this;
- }
-
- public String getPrivateKeyPassphrase() {
- return this.privateKeyPassphrase;
- }
-
- AAAEncryptionService getEncryptionService() {
- return this.encryptionService;
- }
-
- public NetconfTopologySetupBuilder setEncryptionService(final AAAEncryptionService encryptionService) {
- this.encryptionService = encryptionService;
- return this;
- }
-
- public static NetconfTopologySetupBuilder create() {
- return new NetconfTopologySetupBuilder();
- }
}
}
\ No newline at end of file