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.operations.OperationsCreator;
14 import org.opendaylight.netconf.test.tool.rpchandler.RpcHandler;
16 public class ConfigurationBuilder {
18 private Configuration configuration;
20 public ConfigurationBuilder() {
21 this.configuration = new Configuration();
24 public ConfigurationBuilder setThreadPoolSize(int threadPoolSize) {
25 this.configuration.setThreadPoolSize(threadPoolSize);
29 public ConfigurationBuilder setGenerateConfigsTimeout(int generateConfigsTimeout) {
30 this.configuration.setGenerateConfigsTimeout(generateConfigsTimeout);
34 public ConfigurationBuilder setModels(Set<String> models) {
35 this.configuration.setModels(models);
39 public ConfigurationBuilder setCapabilities(Set<String> capabilities) {
40 this.configuration.setCapabilities(capabilities);
44 public ConfigurationBuilder setStartingPort(int startingPort) {
45 this.configuration.setStartingPort(startingPort);
49 public ConfigurationBuilder setDeviceCount(int deviceCount) {
50 this.configuration.setDeviceCount(deviceCount);
54 public ConfigurationBuilder setSsh(boolean ssh) {
55 this.configuration.setSsh(ssh);
59 public ConfigurationBuilder setIp(String ip) {
60 this.configuration.setIp(ip);
64 public ConfigurationBuilder setRpcMapping(RpcHandler rpcHandler) {
65 this.configuration.setRpcHandler(rpcHandler);
70 public ConfigurationBuilder setMdSal(boolean mdSal) {
71 this.configuration.setMdSal(mdSal);
76 public ConfigurationBuilder setRpcConfigFile(File rpcConfigFile) {
77 this.configuration.setRpcConfigFile(rpcConfigFile);
82 public ConfigurationBuilder setInitialConfigXMLFile(File initialConfigXMLFile) {
83 this.configuration.setInitialConfigXMLFile(initialConfigXMLFile);
88 public ConfigurationBuilder setNotificationFile(File notificationFile) {
89 this.configuration.setNotificationFile(notificationFile);
93 public ConfigurationBuilder setOperationsCreator(OperationsCreator operationsCreator) {
94 this.configuration.setOperationsCreator(operationsCreator);
98 public ConfigurationBuilder from(Configuration configuration) {
99 this.configuration.setThreadPoolSize(configuration.getThreadPoolSize());
100 this.configuration.setGenerateConfigsTimeout(configuration.getGenerateConfigsTimeout());
101 this.configuration.setModels(configuration.getModels());
102 this.configuration.setCapabilities(configuration.getCapabilities());
103 this.configuration.setStartingPort(configuration.getStartingPort());
104 this.configuration.setDeviceCount(configuration.getDeviceCount());
105 this.configuration.setSsh(configuration.isSsh());
106 this.configuration.setIp(configuration.getIp());
107 this.configuration.setRpcHandler(configuration.getRpcHandler());
108 this.configuration.setOperationsCreator(configuration.getOperationsCreator());
109 this.configuration.setMdSal(configuration.isMdSal());
110 this.configuration.setRpcConfigFile(configuration.getRpcConfigFile());
111 this.configuration.setInitialConfigXMLFile(configuration.getInitialConfigXMLFile());
112 this.configuration.setNotificationFile(configuration.getNotificationFile());
113 this.configuration.setSchemasDir(configuration.getSchemasDir());
117 public ConfigurationBuilder from(TesttoolParameters testtoolParameters) {
118 this.configuration.setGenerateConfigsTimeout(testtoolParameters.generateConfigsTimeout);
119 this.configuration.setStartingPort(testtoolParameters.startingPort);
120 this.configuration.setDeviceCount(testtoolParameters.deviceCount);
121 this.configuration.setSsh(testtoolParameters.ssh);
122 this.configuration.setIp(testtoolParameters.ip);
123 this.configuration.setMdSal(testtoolParameters.mdSal);
124 this.configuration.setRpcConfigFile(testtoolParameters.rpcConfig);
125 this.configuration.setInitialConfigXMLFile(testtoolParameters.initialConfigXMLFile);
126 this.configuration.setNotificationFile(testtoolParameters.notificationFile);
127 this.configuration.setSchemasDir(testtoolParameters.schemasDir);
131 public Configuration build() {
132 return configuration;