Simplify code using Java 8 features
[netconf.git] / netconf / tools / netconf-testtool / src / main / java / org / opendaylight / netconf / test / tool / config / Configuration.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 com.google.common.collect.ImmutableSet;
11 import java.io.File;
12 import java.util.Set;
13 import java.util.concurrent.TimeUnit;
14 import org.apache.sshd.server.auth.pubkey.PublickeyAuthenticator;
15 import org.opendaylight.netconf.api.xml.XmlNetconfConstants;
16 import org.opendaylight.netconf.auth.AuthProvider;
17 import org.opendaylight.netconf.test.tool.operations.OperationsCreator;
18 import org.opendaylight.netconf.test.tool.rpchandler.RpcHandler;
19 import org.opendaylight.netconf.test.tool.rpchandler.RpcHandlerDefault;
20 import org.slf4j.Logger;
21 import org.slf4j.LoggerFactory;
22
23 public class Configuration {
24
25     private static final Logger LOG = LoggerFactory.getLogger(Configuration.class);
26
27     public static final Set<String> DEFAULT_BASE_CAPABILITIES_EXI = ImmutableSet.of(
28             XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_BASE_1_0,
29             XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_BASE_1_1,
30             XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_CAPABILITY_EXI_1_0
31     );
32
33     public static final Set<String> DEFAULT_BASE_CAPABILITIES = ImmutableSet.of(
34             XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_BASE_1_0,
35             XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_BASE_1_1
36     );
37
38     public static final Set<YangResource> DEFAULT_YANG_RESOURCES = ImmutableSet.of(
39             new YangResource("ietf-netconf-monitoring", "2010-10-04",
40                     "/META-INF/yang/ietf-netconf-monitoring@2010-10-04.yang"),
41             new YangResource("ietf-netconf-monitoring-extension", "2013-12-10",
42                     "/META-INF/yang/ietf-netconf-monitoring-extension@2013-12-10.yang"),
43             new YangResource("ietf-yang-types", "2013-07-15",
44                     "/META-INF/yang/ietf-yang-types@2013-07-15.yang"),
45             new YangResource("ietf-inet-types", "2013-07-15",
46                     "/META-INF/yang/ietf-inet-types@2013-07-15.yang")
47     );
48
49     public static final AuthProvider DEFAULT_AUTH_PROVIDER = (username, password) -> {
50         LOG.info("Auth with username and password: {}", username);
51         return true;
52     };
53
54     public static final PublickeyAuthenticator DEFAULT_PUBLIC_KEY_AUTHENTICATOR = (username, key, session) -> {
55         LOG.info("Auth with public key: {}", key);
56         return true;
57     };
58
59     private int generateConfigsTimeout = (int) TimeUnit.MINUTES.toMillis(30);
60     private int threadPoolSize = 8;
61     private int startingPort = 17830;
62     private int deviceCount = 1;
63     private boolean ssh = true;
64     private String ip = "0.0.0.0";
65     private Set<YangResource> defaultYangResources = DEFAULT_YANG_RESOURCES;
66
67     private Set<String> models;
68     private Set<String> capabilities = DEFAULT_BASE_CAPABILITIES_EXI;
69     private RpcHandler rpcHandler = new RpcHandlerDefault();
70     private OperationsCreator operationsCreator;
71     private AuthProvider authProvider = DEFAULT_AUTH_PROVIDER;
72     private PublickeyAuthenticator publickeyAuthenticator = DEFAULT_PUBLIC_KEY_AUTHENTICATOR;
73
74     @Deprecated
75     private boolean mdSal = false;
76
77     @Deprecated
78     private File rpcConfigFile;
79
80     @Deprecated
81     private File notificationFile;
82
83     @Deprecated
84     private File initialConfigXMLFile;
85
86     @Deprecated
87     private File schemasDir;
88
89     public Configuration() {
90     }
91
92     public PublickeyAuthenticator getPublickeyAuthenticator() {
93         return publickeyAuthenticator;
94     }
95
96     public void setPublickeyAuthenticator(final PublickeyAuthenticator publickeyAuthenticator) {
97         this.publickeyAuthenticator = publickeyAuthenticator;
98     }
99
100     public AuthProvider getAuthProvider() {
101         return authProvider;
102     }
103
104     public void setAuthProvider(final AuthProvider authProvider) {
105         this.authProvider = authProvider;
106     }
107
108     public Set<YangResource> getDefaultYangResources() {
109         return defaultYangResources;
110     }
111
112     public void setDefaultYangResources(final Set<YangResource> defaultYangResources) {
113         this.defaultYangResources = defaultYangResources;
114     }
115
116     public int getThreadPoolSize() {
117         return threadPoolSize;
118     }
119
120     public void setThreadPoolSize(final int threadPoolSize) {
121         this.threadPoolSize = threadPoolSize;
122     }
123
124     public int getStartingPort() {
125         return startingPort;
126     }
127
128     public void setStartingPort(final int startingPort) {
129         this.startingPort = startingPort;
130     }
131
132     public int getDeviceCount() {
133         return deviceCount;
134     }
135
136     public void setDeviceCount(final int deviceCount) {
137         this.deviceCount = deviceCount;
138     }
139
140     public int getGenerateConfigsTimeout() {
141         return generateConfigsTimeout;
142     }
143
144     public void setGenerateConfigsTimeout(final int generateConfigsTimeout) {
145         this.generateConfigsTimeout = generateConfigsTimeout;
146     }
147
148     public boolean isSsh() {
149         return ssh;
150     }
151
152     public void setSsh(final boolean ssh) {
153         this.ssh = ssh;
154     }
155
156     public String getIp() {
157         return ip;
158     }
159
160     public void setIp(final String ip) {
161         this.ip = ip;
162     }
163
164     public Set<String> getModels() {
165         return models;
166     }
167
168     public void setModels(final Set<String> models) {
169         this.models = models;
170     }
171
172     public Set<String> getCapabilities() {
173         return capabilities;
174     }
175
176     public void setCapabilities(final Set<String> capabilities) {
177         this.capabilities = capabilities;
178     }
179
180     public RpcHandler getRpcHandler() {
181         return rpcHandler;
182     }
183
184     public void setRpcHandler(final RpcHandler rpcHandler) {
185         this.rpcHandler = rpcHandler;
186     }
187
188     public OperationsCreator getOperationsCreator() {
189         return operationsCreator;
190     }
191
192     public void setOperationsCreator(final OperationsCreator operationsCreator) {
193         this.operationsCreator = operationsCreator;
194     }
195
196     @Deprecated
197     public boolean isMdSal() {
198         return mdSal;
199     }
200
201     @Deprecated
202     public void setMdSal(final boolean mdSal) {
203         this.mdSal = mdSal;
204     }
205
206     @Deprecated
207     public File getRpcConfigFile() {
208         return rpcConfigFile;
209     }
210
211     @Deprecated
212     public void setRpcConfigFile(final File rpcConfigFile) {
213         this.rpcConfigFile = rpcConfigFile;
214     }
215
216     @Deprecated
217     public File getNotificationFile() {
218         return notificationFile;
219     }
220
221     @Deprecated
222     public void setNotificationFile(final File notificationFile) {
223         this.notificationFile = notificationFile;
224     }
225
226     @Deprecated
227     public File getInitialConfigXMLFile() {
228         return initialConfigXMLFile;
229     }
230
231     @Deprecated
232     public void setInitialConfigXMLFile(final File initialConfigXMLFile) {
233         this.initialConfigXMLFile = initialConfigXMLFile;
234     }
235
236     @Deprecated
237     public boolean isXmlConfigurationProvided() {
238         return initialConfigXMLFile != null && notificationFile != null;
239     }
240
241     @Deprecated
242     public File getSchemasDir() {
243         return schemasDir;
244     }
245
246     @Deprecated
247     public void setSchemasDir(final File schemasDir) {
248         this.schemasDir = schemasDir;
249     }
250 }