Testtool functionality enhanced. User now may
[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.operations.OperationsCreator;
14 import org.opendaylight.netconf.test.tool.rpchandler.RpcHandler;
15
16 public class ConfigurationBuilder {
17
18     private Configuration configuration;
19
20     public ConfigurationBuilder() {
21         this.configuration = new Configuration();
22     }
23
24     public ConfigurationBuilder setThreadPoolSize(int threadPoolSize) {
25         this.configuration.setThreadPoolSize(threadPoolSize);
26         return this;
27     }
28
29     public ConfigurationBuilder setGenerateConfigsTimeout(int generateConfigsTimeout) {
30         this.configuration.setGenerateConfigsTimeout(generateConfigsTimeout);
31         return this;
32     }
33
34     public ConfigurationBuilder setModels(Set<String> models) {
35         this.configuration.setModels(models);
36         return this;
37     }
38
39     public ConfigurationBuilder setCapabilities(Set<String> capabilities) {
40         this.configuration.setCapabilities(capabilities);
41         return this;
42     }
43
44     public ConfigurationBuilder setStartingPort(int startingPort) {
45         this.configuration.setStartingPort(startingPort);
46         return this;
47     }
48
49     public ConfigurationBuilder setDeviceCount(int deviceCount) {
50         this.configuration.setDeviceCount(deviceCount);
51         return this;
52     }
53
54     public ConfigurationBuilder setSsh(boolean ssh) {
55         this.configuration.setSsh(ssh);
56         return this;
57     }
58
59     public ConfigurationBuilder setIp(String ip) {
60         this.configuration.setIp(ip);
61         return this;
62     }
63
64     public ConfigurationBuilder setRpcMapping(RpcHandler rpcHandler) {
65         this.configuration.setRpcHandler(rpcHandler);
66         return this;
67     }
68
69     @Deprecated
70     public ConfigurationBuilder setMdSal(boolean mdSal) {
71         this.configuration.setMdSal(mdSal);
72         return this;
73     }
74
75     @Deprecated
76     public ConfigurationBuilder setRpcConfigFile(File rpcConfigFile) {
77         this.configuration.setRpcConfigFile(rpcConfigFile);
78         return this;
79     }
80
81     @Deprecated
82     public ConfigurationBuilder setInitialConfigXMLFile(File initialConfigXMLFile) {
83         this.configuration.setInitialConfigXMLFile(initialConfigXMLFile);
84         return this;
85     }
86
87     @Deprecated
88     public ConfigurationBuilder setNotificationFile(File notificationFile) {
89         this.configuration.setNotificationFile(notificationFile);
90         return this;
91     }
92
93     public ConfigurationBuilder setOperationsCreator(OperationsCreator operationsCreator) {
94         this.configuration.setOperationsCreator(operationsCreator);
95         return this;
96     }
97
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());
114         return this;
115     }
116
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);
128         return this;
129     }
130
131     public Configuration build() {
132         return configuration;
133     }
134
135 }