Merge "Change in AbstractRaftBehavior#performSnapshotWithoutCapture"
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / main / java / org / opendaylight / controller / sal / restconf / impl / RestconfProviderImpl.java
index c7c9cc0dc5bd1d34612a6e31dccc26cc72548249..84b092e10eae92f9fc7715162c6bbdc48a975ad1 100644 (file)
@@ -19,6 +19,7 @@ import org.opendaylight.controller.config.yang.md.sal.rest.connector.RestConnect
 import org.opendaylight.controller.config.yang.md.sal.rest.connector.Rpcs;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
 import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
+import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
 import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
 import org.opendaylight.controller.sal.core.api.Provider;
 import org.opendaylight.controller.sal.core.api.model.SchemaService;
@@ -30,26 +31,26 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContextListener;
 
 public class RestconfProviderImpl implements Provider, AutoCloseable, RestConnector, RestConnectorRuntimeMXBean {
 
-    public final static String NOT_INITALIZED_MSG = "Restconf is not initialized yet. Please try again later";
-
     private final StatisticsRestconfServiceWrapper stats = StatisticsRestconfServiceWrapper.getInstance();
     private ListenerRegistration<SchemaContextListener> listenerRegistration;
     private PortNumber port;
-    public void setWebsocketPort(PortNumber port) {
+    private Thread webSocketServerThread;
+
+    public void setWebsocketPort(final PortNumber port) {
         this.port = port;
     }
 
-    private Thread webSocketServerThread;
-
     @Override
-    public void onSessionInitiated(ProviderSession session) {
+    public void onSessionInitiated(final ProviderSession session) {
         final DOMDataBroker domDataBroker = session.getService(DOMDataBroker.class);
 
         BrokerFacade.getInstance().setContext(session);
         BrokerFacade.getInstance().setDomDataBroker( domDataBroker);
-
-        SchemaService schemaService = session.getService(SchemaService.class);
+        final SchemaService schemaService = session.getService(SchemaService.class);
         listenerRegistration = schemaService.registerSchemaContextListener(ControllerContext.getInstance());
+        BrokerFacade.getInstance().setRpcService(session.getService(DOMRpcService.class));
+
+
         ControllerContext.getInstance().setSchemas(schemaService.getGlobalContext());
         ControllerContext.getInstance().setMountService(session.getService(DOMMountPointService.class));
 
@@ -65,22 +66,25 @@ public class RestconfProviderImpl implements Provider, AutoCloseable, RestConnec
 
     @Override
     public void close() {
+
         if (listenerRegistration != null) {
             listenerRegistration.close();
         }
+
+        WebSocketServer.destroyInstance();
         webSocketServerThread.interrupt();
     }
 
     @Override
     public Config getConfig() {
-        Config config = new Config();
-        Get get = new Get();
+        final Config config = new Config();
+        final Get get = new Get();
         get.setReceivedRequests(stats.getConfigGet());
         config.setGet(get);
-        Post post = new Post();
+        final Post post = new Post();
         post.setReceivedRequests(stats.getConfigPost());
         config.setPost(post);
-        Put put = new Put();
+        final Put put = new Put();
         put.setReceivedRequests(stats.getConfigPut());
         config.setPut(put);
         return config;
@@ -88,9 +92,9 @@ public class RestconfProviderImpl implements Provider, AutoCloseable, RestConnec
 
     @Override
     public Operational getOperational() {
-        BigInteger opGet = stats.getOperationalGet();
-        Operational operational = new Operational();
-        Get get = new Get();
+        final BigInteger opGet = stats.getOperationalGet();
+        final Operational operational = new Operational();
+        final Get get = new Get();
         get.setReceivedRequests(opGet);
         operational.setGet(get);
         return operational;
@@ -98,8 +102,8 @@ public class RestconfProviderImpl implements Provider, AutoCloseable, RestConnec
 
     @Override
     public Rpcs getRpcs() {
-        BigInteger rpcInvoke = stats.getRpc();
-        Rpcs rpcs = new Rpcs();
+        final BigInteger rpcInvoke = stats.getRpc();
+        final Rpcs rpcs = new Rpcs();
         rpcs.setReceivedRequests(rpcInvoke);
         return rpcs ;
     }