2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.netconf.test.tool.config;
13 import org.apache.sshd.server.PublickeyAuthenticator;
14 import org.opendaylight.netconf.auth.AuthProvider;
15 import org.opendaylight.netconf.test.tool.TesttoolParameters;
16 import org.opendaylight.netconf.test.tool.operations.OperationsCreator;
17 import org.opendaylight.netconf.test.tool.rpchandler.RpcHandler;
19 public class ConfigurationBuilder {
21 private Configuration configuration;
23 public ConfigurationBuilder() {
24 this.configuration = new Configuration();
27 public ConfigurationBuilder setPublickeyAuthenticator(PublickeyAuthenticator publickeyAuthenticator) {
28 this.configuration.setPublickeyAuthenticator(publickeyAuthenticator);
32 public ConfigurationBuilder setAuthProvider(AuthProvider authProvider) {
33 this.configuration.setAuthProvider(authProvider);
37 public ConfigurationBuilder setGetDefaultYangResources(Set<YangResource> defaultYangResources) {
38 this.configuration.setDefaultYangResources(defaultYangResources);
42 public ConfigurationBuilder setThreadPoolSize(int threadPoolSize) {
43 this.configuration.setThreadPoolSize(threadPoolSize);
47 public ConfigurationBuilder setGenerateConfigsTimeout(int generateConfigsTimeout) {
48 this.configuration.setGenerateConfigsTimeout(generateConfigsTimeout);
52 public ConfigurationBuilder setModels(Set<String> models) {
53 this.configuration.setModels(models);
57 public ConfigurationBuilder setCapabilities(Set<String> capabilities) {
58 this.configuration.setCapabilities(capabilities);
62 public ConfigurationBuilder setStartingPort(int startingPort) {
63 this.configuration.setStartingPort(startingPort);
67 public ConfigurationBuilder setDeviceCount(int deviceCount) {
68 this.configuration.setDeviceCount(deviceCount);
72 public ConfigurationBuilder setSsh(boolean ssh) {
73 this.configuration.setSsh(ssh);
77 public ConfigurationBuilder setIp(String ip) {
78 this.configuration.setIp(ip);
82 public ConfigurationBuilder setRpcMapping(RpcHandler rpcHandler) {
83 this.configuration.setRpcHandler(rpcHandler);
88 public ConfigurationBuilder setMdSal(boolean mdSal) {
89 this.configuration.setMdSal(mdSal);
94 public ConfigurationBuilder setRpcConfigFile(File rpcConfigFile) {
95 this.configuration.setRpcConfigFile(rpcConfigFile);
100 public ConfigurationBuilder setInitialConfigXMLFile(File initialConfigXMLFile) {
101 this.configuration.setInitialConfigXMLFile(initialConfigXMLFile);
106 public ConfigurationBuilder setNotificationFile(File notificationFile) {
107 this.configuration.setNotificationFile(notificationFile);
111 public ConfigurationBuilder setOperationsCreator(OperationsCreator operationsCreator) {
112 this.configuration.setOperationsCreator(operationsCreator);
116 public ConfigurationBuilder from(Configuration configuration) {
117 this.configuration.setThreadPoolSize(configuration.getThreadPoolSize());
118 this.configuration.setGenerateConfigsTimeout(configuration.getGenerateConfigsTimeout());
119 this.configuration.setModels(configuration.getModels());
120 this.configuration.setCapabilities(configuration.getCapabilities());
121 this.configuration.setStartingPort(configuration.getStartingPort());
122 this.configuration.setDeviceCount(configuration.getDeviceCount());
123 this.configuration.setSsh(configuration.isSsh());
124 this.configuration.setIp(configuration.getIp());
125 this.configuration.setRpcHandler(configuration.getRpcHandler());
126 this.configuration.setOperationsCreator(configuration.getOperationsCreator());
127 this.configuration.setMdSal(configuration.isMdSal());
128 this.configuration.setRpcConfigFile(configuration.getRpcConfigFile());
129 this.configuration.setInitialConfigXMLFile(configuration.getInitialConfigXMLFile());
130 this.configuration.setNotificationFile(configuration.getNotificationFile());
131 this.configuration.setSchemasDir(configuration.getSchemasDir());
132 this.configuration.setDefaultYangResources(configuration.getDefaultYangResources());
133 this.configuration.setAuthProvider(configuration.getAuthProvider());
134 this.configuration.setPublickeyAuthenticator(configuration.getPublickeyAuthenticator());
138 public ConfigurationBuilder from(TesttoolParameters testtoolParameters) {
139 this.configuration.setGenerateConfigsTimeout(testtoolParameters.generateConfigsTimeout);
140 this.configuration.setStartingPort(testtoolParameters.startingPort);
141 this.configuration.setDeviceCount(testtoolParameters.deviceCount);
142 this.configuration.setSsh(testtoolParameters.ssh);
143 this.configuration.setIp(testtoolParameters.ip);
144 this.configuration.setMdSal(testtoolParameters.mdSal);
145 this.configuration.setRpcConfigFile(testtoolParameters.rpcConfig);
146 this.configuration.setInitialConfigXMLFile(testtoolParameters.initialConfigXMLFile);
147 this.configuration.setNotificationFile(testtoolParameters.notificationFile);
148 this.configuration.setSchemasDir(testtoolParameters.schemasDir);
152 public Configuration build() {
153 return configuration;