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;
12 import org.opendaylight.netconf.test.tool.TesttoolParameters;
13 import org.opendaylight.netconf.test.tool.rpchandler.RpcHandler;
15 public class ConfigurationBuilder {
17 private Configuration configuration;
19 public ConfigurationBuilder() {
20 this.configuration = new Configuration();
23 public ConfigurationBuilder setThreadPoolSize(int threadPoolSize) {
24 this.configuration.setThreadPoolSize(threadPoolSize);
28 public ConfigurationBuilder setGenerateConfigsTimeout(int generateConfigsTimeout) {
29 this.configuration.setGenerateConfigsTimeout(generateConfigsTimeout);
33 public ConfigurationBuilder setModels(Set<String> models) {
34 this.configuration.setModels(models);
38 public ConfigurationBuilder setCapabilities(Set<String> capabilities) {
39 this.configuration.setCapabilities(capabilities);
43 public ConfigurationBuilder setStartingPort(int startingPort) {
44 this.configuration.setStartingPort(startingPort);
48 public ConfigurationBuilder setDeviceCount(int deviceCount) {
49 this.configuration.setDeviceCount(deviceCount);
53 public ConfigurationBuilder setSsh(boolean ssh) {
54 this.configuration.setSsh(ssh);
58 public ConfigurationBuilder setIp(String ip) {
59 this.configuration.setIp(ip);
63 public ConfigurationBuilder setRpcMapping(RpcHandler rpcHandler) {
64 this.configuration.setRpcHandler(rpcHandler);
69 public ConfigurationBuilder setMdSal(boolean mdSal) {
70 this.configuration.setMdSal(mdSal);
75 public ConfigurationBuilder setRpcConfigFile(File rpcConfigFile) {
76 this.configuration.setRpcConfigFile(rpcConfigFile);
81 public ConfigurationBuilder setInitialConfigXMLFile(File initialConfigXMLFile) {
82 this.configuration.setInitialConfigXMLFile(initialConfigXMLFile);
87 public ConfigurationBuilder setNotificationFile(File notificationFile) {
88 this.configuration.setNotificationFile(notificationFile);
92 public ConfigurationBuilder from(Configuration configuration) {
93 this.configuration.setThreadPoolSize(configuration.getThreadPoolSize());
94 this.configuration.setGenerateConfigsTimeout(configuration.getGenerateConfigsTimeout());
95 this.configuration.setModels(configuration.getModels());
96 this.configuration.setCapabilities(configuration.getCapabilities());
97 this.configuration.setStartingPort(configuration.getStartingPort());
98 this.configuration.setDeviceCount(configuration.getDeviceCount());
99 this.configuration.setSsh(configuration.isSsh());
100 this.configuration.setIp(configuration.getIp());
101 this.configuration.setRpcHandler(configuration.getRpcHandler());
102 this.configuration.setMdSal(configuration.isMdSal());
103 this.configuration.setRpcConfigFile(configuration.getRpcConfigFile());
104 this.configuration.setInitialConfigXMLFile(configuration.getInitialConfigXMLFile());
105 this.configuration.setNotificationFile(configuration.getNotificationFile());
106 this.configuration.setSchemasDir(configuration.getSchemasDir());
110 public ConfigurationBuilder from(TesttoolParameters testtoolParameters) {
111 this.configuration.setGenerateConfigsTimeout(testtoolParameters.generateConfigsTimeout);
112 this.configuration.setStartingPort(testtoolParameters.startingPort);
113 this.configuration.setDeviceCount(testtoolParameters.deviceCount);
114 this.configuration.setSsh(testtoolParameters.ssh);
115 this.configuration.setIp(testtoolParameters.ip);
116 this.configuration.setMdSal(testtoolParameters.mdSal);
117 this.configuration.setRpcConfigFile(testtoolParameters.rpcConfig);
118 this.configuration.setInitialConfigXMLFile(testtoolParameters.initialConfigXMLFile);
119 this.configuration.setNotificationFile(testtoolParameters.notificationFile);
120 this.configuration.setSchemasDir(testtoolParameters.schemasDir);
124 public Configuration build() {
125 return configuration;