+++ /dev/null
-/*
- * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netconf.impl.osgi;
-
-import com.google.common.base.Optional;
-import org.opendaylight.controller.config.threadpool.ScheduledThreadPool;
-import org.opendaylight.netconf.api.monitoring.NetconfMonitoringService;
-import org.opendaylight.netconf.api.monitoring.SessionListener;
-import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
-import org.opendaylight.netconf.notifications.BaseNotificationPublisherRegistration;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Capabilities;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Schemas;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Sessions;
-
-public class NetconfMonitoringServiceImpl implements NetconfMonitoringService, AutoCloseable {
-
- private final NetconfCapabilityMonitoringService capabilityMonitoring;
- private final NetconfSessionMonitoringService sessionMonitoring;
-
- public NetconfMonitoringServiceImpl(NetconfOperationServiceFactory opProvider) {
- this(opProvider, Optional.absent(), 0);
- }
-
- public NetconfMonitoringServiceImpl(NetconfOperationServiceFactory opProvider,
- ScheduledThreadPool threadPool,
- long updateInterval) {
- this(opProvider, Optional.fromNullable(threadPool), updateInterval);
- }
-
- public NetconfMonitoringServiceImpl(NetconfOperationServiceFactory opProvider,
- Optional<ScheduledThreadPool> threadPool,
- long updateInterval) {
- this.capabilityMonitoring = new NetconfCapabilityMonitoringService(opProvider);
- this.sessionMonitoring = new NetconfSessionMonitoringService(threadPool, updateInterval);
-
- }
-
- @Override
- public Sessions getSessions() {
- return sessionMonitoring.getSessions();
- }
-
- @Override
- public SessionListener getSessionListener() {
- return sessionMonitoring;
- }
-
- @Override
- public Schemas getSchemas() {
- return capabilityMonitoring.getSchemas();
- }
-
- @Override
- public String getSchemaForCapability(String moduleName, Optional<String> revision) {
- return capabilityMonitoring.getSchemaForModuleRevision(moduleName, revision);
- }
-
- @Override
- public Capabilities getCapabilities() {
- return capabilityMonitoring.getCapabilities();
- }
-
- @Override
- public AutoCloseable registerCapabilitiesListener(CapabilitiesListener listener) {
- return capabilityMonitoring.registerListener(listener);
- }
-
- @Override
- public AutoCloseable registerSessionsListener(SessionsListener listener) {
- return sessionMonitoring.registerListener(listener);
- }
-
- public void setNotificationPublisher(BaseNotificationPublisherRegistration notificationPublisher) {
- this.capabilityMonitoring.setNotificationPublisher(notificationPublisher);
- }
-
- @Override
- public void close() {
- capabilityMonitoring.close();
- sessionMonitoring.close();
- }
-}