X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2FRestconfProviderImpl.java;h=624d709c60a7abd761c7c40011ffb0619cd66e4c;hb=1447e0132075bbd3013aa41b98384a373bd82d1a;hp=c7c9cc0dc5bd1d34612a6e31dccc26cc72548249;hpb=15fa131be8b16703089a6d8508546120cf15d45d;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestconfProviderImpl.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestconfProviderImpl.java index c7c9cc0dc5..624d709c60 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestconfProviderImpl.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestconfProviderImpl.java @@ -11,6 +11,7 @@ import java.math.BigInteger; import java.util.Collection; import java.util.Collections; import org.opendaylight.controller.config.yang.md.sal.rest.connector.Config; +import org.opendaylight.controller.config.yang.md.sal.rest.connector.Delete; import org.opendaylight.controller.config.yang.md.sal.rest.connector.Get; import org.opendaylight.controller.config.yang.md.sal.rest.connector.Operational; import org.opendaylight.controller.config.yang.md.sal.rest.connector.Post; @@ -19,6 +20,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 +32,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 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,42 +67,63 @@ 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()); + get.setSuccessfulResponses(stats.getSuccessGetConfig()); + get.setFailedResponses(stats.getFailureGetConfig()); config.setGet(get); - Post post = new Post(); + + final Post post = new Post(); post.setReceivedRequests(stats.getConfigPost()); + post.setSuccessfulResponses(stats.getSuccessPost()); + post.setFailedResponses(stats.getFailurePost()); config.setPost(post); - Put put = new Put(); + + final Put put = new Put(); put.setReceivedRequests(stats.getConfigPut()); + put.setSuccessfulResponses(stats.getSuccessPut()); + put.setFailedResponses(stats.getFailurePut()); config.setPut(put); + + final Delete delete = new Delete(); + delete.setReceivedRequests(stats.getConfigDelete()); + delete.setSuccessfulResponses(stats.getSuccessDelete()); + delete.setFailedResponses(stats.getFailureDelete()); + config.setDelete(delete); + return config; } @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); + get.setSuccessfulResponses(stats.getSuccessGetOperational()); + get.setFailedResponses(stats.getFailureGetOperational()); operational.setGet(get); return operational; } @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 ; + return rpcs; } -} +} \ No newline at end of file