Shade mina-sshd
[netconf.git] / netconf / tools / netconf-testtool / src / main / java / org / opendaylight / netconf / test / tool / config / ConfigurationBuilder.java
index 2ed4aa247aa7d9de0d174123f9632c31bf578dc3..46c3e891a127c6edd7872e176f162564e83e13b6 100644 (file)
@@ -9,105 +9,133 @@ package org.opendaylight.netconf.test.tool.config;
 
 import java.io.File;
 import java.util.Set;
+import org.opendaylight.netconf.auth.AuthProvider;
+import org.opendaylight.netconf.shaded.sshd.server.auth.pubkey.PublickeyAuthenticator;
 import org.opendaylight.netconf.test.tool.TesttoolParameters;
+import org.opendaylight.netconf.test.tool.operations.OperationsCreator;
 import org.opendaylight.netconf.test.tool.rpchandler.RpcHandler;
+import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
 
 public class ConfigurationBuilder {
 
-    private Configuration configuration;
+    private final Configuration configuration;
 
     public ConfigurationBuilder() {
         this.configuration = new Configuration();
     }
 
-    public ConfigurationBuilder setThreadPoolSize(int threadPoolSize) {
+    public ConfigurationBuilder setPublickeyAuthenticator(final PublickeyAuthenticator publickeyAuthenticator) {
+        this.configuration.setPublickeyAuthenticator(publickeyAuthenticator);
+        return this;
+    }
+
+    public ConfigurationBuilder setAuthProvider(final AuthProvider authProvider) {
+        this.configuration.setAuthProvider(authProvider);
+        return this;
+    }
+
+    public ConfigurationBuilder setGetDefaultYangResources(final Set<YangResource> defaultYangResources) {
+        this.configuration.setDefaultYangResources(defaultYangResources);
+        return this;
+    }
+
+    public ConfigurationBuilder setThreadPoolSize(final int threadPoolSize) {
         this.configuration.setThreadPoolSize(threadPoolSize);
         return this;
     }
 
-    public ConfigurationBuilder setGenerateConfigsTimeout(int generateConfigsTimeout) {
+    public ConfigurationBuilder setGenerateConfigsTimeout(final int generateConfigsTimeout) {
         this.configuration.setGenerateConfigsTimeout(generateConfigsTimeout);
         return this;
     }
 
-    public ConfigurationBuilder setModels(Set<String> models) {
+    public ConfigurationBuilder setModels(final Set<YangModuleInfo> models) {
         this.configuration.setModels(models);
         return this;
     }
 
-    public ConfigurationBuilder setCapabilities(Set<String> capabilities) {
+    public ConfigurationBuilder setCapabilities(final Set<String> capabilities) {
         this.configuration.setCapabilities(capabilities);
         return this;
     }
 
-    public ConfigurationBuilder setStartingPort(int startingPort) {
+    public ConfigurationBuilder setStartingPort(final int startingPort) {
         this.configuration.setStartingPort(startingPort);
         return this;
     }
 
-    public ConfigurationBuilder setDeviceCount(int deviceCount) {
+    public ConfigurationBuilder setDeviceCount(final int deviceCount) {
         this.configuration.setDeviceCount(deviceCount);
         return this;
     }
 
-    public ConfigurationBuilder setSsh(boolean ssh) {
+    public ConfigurationBuilder setSsh(final boolean ssh) {
         this.configuration.setSsh(ssh);
         return this;
     }
 
-    public ConfigurationBuilder setIp(String ip) {
+    public ConfigurationBuilder setIp(final String ip) {
         this.configuration.setIp(ip);
         return this;
     }
 
-    public ConfigurationBuilder setRpcMapping(RpcHandler rpcHandler) {
+    public ConfigurationBuilder setRpcMapping(final RpcHandler rpcHandler) {
         this.configuration.setRpcHandler(rpcHandler);
         return this;
     }
 
     @Deprecated
-    public ConfigurationBuilder setMdSal(boolean mdSal) {
+    public ConfigurationBuilder setMdSal(final boolean mdSal) {
         this.configuration.setMdSal(mdSal);
         return this;
     }
 
     @Deprecated
-    public ConfigurationBuilder setRpcConfigFile(File rpcConfigFile) {
+    public ConfigurationBuilder setRpcConfigFile(final File rpcConfigFile) {
         this.configuration.setRpcConfigFile(rpcConfigFile);
         return this;
     }
 
     @Deprecated
-    public ConfigurationBuilder setInitialConfigXMLFile(File initialConfigXMLFile) {
+    public ConfigurationBuilder setInitialConfigXMLFile(final File initialConfigXMLFile) {
         this.configuration.setInitialConfigXMLFile(initialConfigXMLFile);
         return this;
     }
 
     @Deprecated
-    public ConfigurationBuilder setNotificationFile(File notificationFile) {
+    public ConfigurationBuilder setNotificationFile(final File notificationFile) {
         this.configuration.setNotificationFile(notificationFile);
         return this;
     }
 
-    public ConfigurationBuilder from(Configuration configuration) {
-        this.configuration.setThreadPoolSize(configuration.getThreadPoolSize());
-        this.configuration.setGenerateConfigsTimeout(configuration.getGenerateConfigsTimeout());
-        this.configuration.setModels(configuration.getModels());
-        this.configuration.setCapabilities(configuration.getCapabilities());
-        this.configuration.setStartingPort(configuration.getStartingPort());
-        this.configuration.setDeviceCount(configuration.getDeviceCount());
-        this.configuration.setSsh(configuration.isSsh());
-        this.configuration.setIp(configuration.getIp());
-        this.configuration.setRpcHandler(configuration.getRpcHandler());
-        this.configuration.setMdSal(configuration.isMdSal());
-        this.configuration.setRpcConfigFile(configuration.getRpcConfigFile());
-        this.configuration.setInitialConfigXMLFile(configuration.getInitialConfigXMLFile());
-        this.configuration.setNotificationFile(configuration.getNotificationFile());
-        this.configuration.setSchemasDir(configuration.getSchemasDir());
+    public ConfigurationBuilder setOperationsCreator(final OperationsCreator operationsCreator) {
+        this.configuration.setOperationsCreator(operationsCreator);
+        return this;
+    }
+
+    public ConfigurationBuilder from(final Configuration template) {
+        this.configuration.setThreadPoolSize(template.getThreadPoolSize());
+        this.configuration.setGenerateConfigsTimeout(template.getGenerateConfigsTimeout());
+        this.configuration.setModels(template.getModels());
+        this.configuration.setCapabilities(template.getCapabilities());
+        this.configuration.setStartingPort(template.getStartingPort());
+        this.configuration.setDeviceCount(template.getDeviceCount());
+        this.configuration.setSsh(template.isSsh());
+        this.configuration.setIp(template.getIp());
+        this.configuration.setRpcHandler(template.getRpcHandler());
+        this.configuration.setOperationsCreator(template.getOperationsCreator());
+        this.configuration.setMdSal(template.isMdSal());
+        this.configuration.setRpcConfigFile(template.getRpcConfigFile());
+        this.configuration.setInitialConfigXMLFile(template.getInitialConfigXMLFile());
+        this.configuration.setNotificationFile(template.getNotificationFile());
+        this.configuration.setSchemasDir(template.getSchemasDir());
+        this.configuration.setDefaultYangResources(template.getDefaultYangResources());
+        this.configuration.setAuthProvider(template.getAuthProvider());
+        this.configuration.setPublickeyAuthenticator(template.getPublickeyAuthenticator());
         return this;
     }
 
-    public ConfigurationBuilder from(TesttoolParameters testtoolParameters) {
+    public ConfigurationBuilder from(final TesttoolParameters testtoolParameters) {
         this.configuration.setGenerateConfigsTimeout(testtoolParameters.generateConfigsTimeout);
         this.configuration.setStartingPort(testtoolParameters.startingPort);
         this.configuration.setDeviceCount(testtoolParameters.deviceCount);
@@ -118,6 +146,8 @@ public class ConfigurationBuilder {
         this.configuration.setInitialConfigXMLFile(testtoolParameters.initialConfigXMLFile);
         this.configuration.setNotificationFile(testtoolParameters.notificationFile);
         this.configuration.setSchemasDir(testtoolParameters.schemasDir);
+        this.configuration.setCapabilities(testtoolParameters.exi ? Configuration.DEFAULT_BASE_CAPABILITIES_EXI
+                : Configuration.DEFAULT_BASE_CAPABILITIES);
         return this;
     }