Netconf stack by default locks the data store before issuing
[netconf.git] / netconf / callhome-provider / src / main / java / org / opendaylight / netconf / callhome / mount / CallHomeTopology.java
1 /*
2  * Copyright (c) 2016 Brocade Communication Systems 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.callhome.mount;
9
10 import io.netty.util.concurrent.EventExecutor;
11 import org.opendaylight.aaa.encrypt.AAAEncryptionService;
12 import org.opendaylight.controller.config.threadpool.ScheduledThreadPool;
13 import org.opendaylight.controller.config.threadpool.ThreadPool;
14 import org.opendaylight.mdsal.binding.api.DataBroker;
15 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
16 import org.opendaylight.netconf.client.NetconfClientDispatcher;
17 import org.opendaylight.netconf.sal.connect.api.DeviceActionFactory;
18 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
19 import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
20 import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalFacade;
21 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
22 import org.opendaylight.netconf.topology.api.SchemaRepositoryProvider;
23
24 public class CallHomeTopology extends BaseCallHomeTopology {
25
26     public CallHomeTopology(final String topologyId, final NetconfClientDispatcher clientDispatcher,
27             final EventExecutor eventExecutor,
28             final ScheduledThreadPool keepaliveExecutor, final ThreadPool processingExecutor,
29             final SchemaRepositoryProvider schemaRepositoryProvider,
30             final DataBroker dataBroker, final DOMMountPointService mountPointService,
31             final AAAEncryptionService encryptionService) {
32         this(topologyId, clientDispatcher, eventExecutor,
33                 keepaliveExecutor, processingExecutor, schemaRepositoryProvider,
34                 dataBroker, mountPointService, encryptionService, null);
35     }
36
37     public CallHomeTopology(final String topologyId, final NetconfClientDispatcher clientDispatcher,
38                             final EventExecutor eventExecutor,
39                             final ScheduledThreadPool keepaliveExecutor, final ThreadPool processingExecutor,
40                             final SchemaRepositoryProvider schemaRepositoryProvider,
41                             final DataBroker dataBroker, final DOMMountPointService mountPointService,
42                             final AAAEncryptionService encryptionService,
43                             final DeviceActionFactory deviceActionFactory) {
44         super(topologyId, clientDispatcher, eventExecutor,
45                 keepaliveExecutor, processingExecutor, schemaRepositoryProvider,
46                 dataBroker, mountPointService, encryptionService, deviceActionFactory);
47     }
48
49     @Override
50     protected RemoteDeviceHandler<NetconfSessionPreferences> createSalFacade(final RemoteDeviceId id) {
51         return new NetconfDeviceSalFacade(id, mountPointService, dataBroker, topologyId);
52     }
53 }