1 package org.opendaylight.controller.sal.rest.impl;
3 import org.opendaylight.controller.sal.core.api.AbstractProvider;
4 import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
5 import org.opendaylight.controller.sal.core.api.data.DataBrokerService;
6 import org.opendaylight.controller.sal.core.api.data.DataProviderService;
7 import org.opendaylight.controller.sal.core.api.model.SchemaService;
8 import org.opendaylight.controller.sal.core.api.model.SchemaServiceListener;
9 import org.opendaylight.controller.sal.restconf.impl.BrokerFacade;
10 import org.opendaylight.controller.sal.restconf.impl.ControllerContext;
11 import org.opendaylight.yangtools.concepts.ListenerRegistration;
12 import org.osgi.framework.BundleContext;
14 public class RestconfProvider extends AbstractProvider {
16 private ListenerRegistration<SchemaServiceListener> listenerRegistration;
19 public void onSessionInitiated(ProviderSession session) {
20 DataBrokerService dataService = session.getService(DataBrokerService.class);
22 BrokerFacade.getInstance().setContext(session);
23 BrokerFacade.getInstance().setDataService(dataService);
25 SchemaService schemaService = session.getService(SchemaService.class);
26 listenerRegistration = schemaService.registerSchemaServiceListener(ControllerContext.getInstance());
27 ControllerContext.getInstance().setSchemas(schemaService.getGlobalContext());
31 protected void stopImpl(BundleContext context) {
32 super.stopImpl(context);
33 if (listenerRegistration != null) {
35 listenerRegistration.close();
36 } catch (Exception e) {