blob: c7b9bf7e89fadcdee13ae0f331d924467c4aa915 [file] [log] [blame]
Sean Condonfae8e662016-12-15 10:25:13 +00001/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2017-present Open Networking Foundation
Sean Condonfae8e662016-12-15 10:25:13 +00003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.drivers.netconf;
17
18import org.onosproject.netconf.NetconfDevice;
19import org.onosproject.netconf.NetconfDeviceInfo;
20import org.onosproject.netconf.NetconfSession;
21
22public class MockNetconfDevice implements NetconfDevice {
23
24 private boolean active = false;
25 private NetconfSession mockSession = null;
26 private NetconfDeviceInfo mockNetconfDeviceInfo;
27 private Class<? extends NetconfSession> sessionImplClass = MockNetconfSession.class;
28
29 public MockNetconfDevice(NetconfDeviceInfo netconfDeviceInfo) {
30 mockNetconfDeviceInfo = netconfDeviceInfo;
31 }
32
33 //Allows a different implementation of MockNetconfSession to be used.
34 public void setNcSessionImpl(Class<? extends NetconfSession> sessionImplClass) {
35 this.sessionImplClass = sessionImplClass;
36 }
37
38 @Override
39 public boolean isActive() {
40 return active;
41 }
42
43 @Override
44 public NetconfSession getSession() {
45 if (mockSession != null) {
46 return mockSession;
47 }
48
49 try {
50 mockSession =
51 sessionImplClass.getDeclaredConstructor(NetconfDeviceInfo.class).newInstance(mockNetconfDeviceInfo);
52 active = true;
53 return mockSession;
54 } catch (Exception e) {
55 // TODO Auto-generated catch block
56 e.printStackTrace();
57 return null;
58 }
59 }
60
61 @Override
62 public void disconnect() {
63 // TODO Auto-generated method stub
64 mockSession = null;
65 active = false;
66 }
67
68 @Override
69 public NetconfDeviceInfo getDeviceInfo() {
70 // TODO Auto-generated method stub
71 return mockNetconfDeviceInfo;
72 }
73
74}