Fix netconf-connector-config groupId
[netconf.git] / opendaylight / netconf / config-netconf-connector / src / main / java / org / opendaylight / netconf / confignetconfconnector / osgi / NetconfOperationServiceFactoryImpl.java
1 /*
2  * Copyright (c) 2013 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
9 package org.opendaylight.netconf.confignetconfconnector.osgi;
10
11 import java.util.Set;
12 import org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacadeFactory;
13 import org.opendaylight.controller.config.util.capability.Capability;
14 import org.opendaylight.controller.config.util.capability.ModuleListener;
15 import org.opendaylight.netconf.api.monitoring.CapabilityListener;
16 import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
17
18 public class NetconfOperationServiceFactoryImpl implements NetconfOperationServiceFactory {
19
20     private final ConfigSubsystemFacadeFactory configFacadeFactory;
21
22     public NetconfOperationServiceFactoryImpl(ConfigSubsystemFacadeFactory configFacadeFactory) {
23         this.configFacadeFactory = configFacadeFactory;
24     }
25
26     @Override
27     public NetconfOperationServiceImpl createService(String netconfSessionIdForReporting) {
28         return new NetconfOperationServiceImpl(configFacadeFactory.createFacade(netconfSessionIdForReporting), netconfSessionIdForReporting);
29     }
30
31     @Override
32     public Set<Capability> getCapabilities() {
33         return configFacadeFactory.getCurrentCapabilities();
34     }
35
36     @Override
37     public AutoCloseable registerCapabilityListener(final CapabilityListener listener) {
38         return configFacadeFactory.getYangStoreService().registerModuleListener(new ModuleListener() {
39             @Override
40             public void onCapabilitiesChanged(Set<Capability> added, Set<Capability> removed) {
41                 listener.onCapabilitiesChanged(added, removed);
42             }
43         });
44     }
45 }