NetConf test tool improved so now it can be
[netconf.git] / netconf / tools / netconf-testtool / src / main / java / org / opendaylight / netconf / test / tool / config / ConfigurationBuilder.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.netconf.test.tool.config;
9
10 import java.io.File;
11 import java.util.Set;
12 import org.opendaylight.netconf.test.tool.TesttoolParameters;
13 import org.opendaylight.netconf.test.tool.rpchandler.RpcHandler;
14
15 public class ConfigurationBuilder {
16
17     private Configuration configuration;
18
19     public ConfigurationBuilder() {
20         this.configuration = new Configuration();
21     }
22
23     public ConfigurationBuilder setThreadPoolSize(int threadPoolSize) {
24         this.configuration.setThreadPoolSize(threadPoolSize);
25         return this;
26     }
27
28     public ConfigurationBuilder setGenerateConfigsTimeout(int generateConfigsTimeout) {
29         this.configuration.setGenerateConfigsTimeout(generateConfigsTimeout);
30         return this;
31     }
32
33     public ConfigurationBuilder setModels(Set<String> models) {
34         this.configuration.setModels(models);
35         return this;
36     }
37
38     public ConfigurationBuilder setCapabilities(Set<String> capabilities) {
39         this.configuration.setCapabilities(capabilities);
40         return this;
41     }
42
43     public ConfigurationBuilder setStartingPort(int startingPort) {
44         this.configuration.setStartingPort(startingPort);
45         return this;
46     }
47
48     public ConfigurationBuilder setDeviceCount(int deviceCount) {
49         this.configuration.setDeviceCount(deviceCount);
50         return this;
51     }
52
53     public ConfigurationBuilder setSsh(boolean ssh) {
54         this.configuration.setSsh(ssh);
55         return this;
56     }
57
58     public ConfigurationBuilder setIp(String ip) {
59         this.configuration.setIp(ip);
60         return this;
61     }
62
63     public ConfigurationBuilder setRpcMapping(RpcHandler rpcHandler) {
64         this.configuration.setRpcHandler(rpcHandler);
65         return this;
66     }
67
68     @Deprecated
69     public ConfigurationBuilder setMdSal(boolean mdSal) {
70         this.configuration.setMdSal(mdSal);
71         return this;
72     }
73
74     @Deprecated
75     public ConfigurationBuilder setRpcConfigFile(File rpcConfigFile) {
76         this.configuration.setRpcConfigFile(rpcConfigFile);
77         return this;
78     }
79
80     @Deprecated
81     public ConfigurationBuilder setInitialConfigXMLFile(File initialConfigXMLFile) {
82         this.configuration.setInitialConfigXMLFile(initialConfigXMLFile);
83         return this;
84     }
85
86     @Deprecated
87     public ConfigurationBuilder setNotificationFile(File notificationFile) {
88         this.configuration.setNotificationFile(notificationFile);
89         return this;
90     }
91
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());
107         return this;
108     }
109
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);
121         return this;
122     }
123
124     public Configuration build() {
125         return configuration;
126     }
127
128 }