Teach RFC8040 restconf about actions
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / services / wrapper / ServicesWrapper.java
index aabce8a544836399691eb3817e1558ab9b840da5..0c60f0ee771be26b65c3862c4dd8d5e723ed3ea3 100644 (file)
@@ -16,6 +16,7 @@ import org.opendaylight.restconf.common.context.NormalizedNodeContext;
 import org.opendaylight.restconf.common.patch.PatchContext;
 import org.opendaylight.restconf.common.patch.PatchStatusContext;
 import org.opendaylight.restconf.common.schema.SchemaExportContext;
+import org.opendaylight.restconf.nb.rfc8040.handlers.ActionServiceHandler;
 import org.opendaylight.restconf.nb.rfc8040.handlers.DOMDataBrokerHandler;
 import org.opendaylight.restconf.nb.rfc8040.handlers.DOMMountPointServiceHandler;
 import org.opendaylight.restconf.nb.rfc8040.handlers.NotificationServiceHandler;
@@ -54,11 +55,11 @@ public final class ServicesWrapper implements BaseServicesWrapper, TransactionSe
     private final RestconfSchemaService delegRestSchService;
     private final RestconfService delegRestService;
 
-    private ServicesWrapper(RestconfDataService delegRestconfDataService,
-            RestconfInvokeOperationsService delegRestconfInvokeOpsService,
-            RestconfStreamsSubscriptionService delegRestconfSubscrService,
-            RestconfOperationsService delegRestOpsService, RestconfSchemaService delegRestSchService,
-            RestconfService delegRestService) {
+    private ServicesWrapper(final RestconfDataService delegRestconfDataService,
+            final RestconfInvokeOperationsService delegRestconfInvokeOpsService,
+            final RestconfStreamsSubscriptionService delegRestconfSubscrService,
+            final RestconfOperationsService delegRestOpsService, final RestconfSchemaService delegRestSchService,
+            final RestconfService delegRestService) {
         this.delegRestconfDataService = delegRestconfDataService;
         this.delegRestconfInvokeOpsService = delegRestconfInvokeOpsService;
         this.delegRestconfSubscrService = delegRestconfSubscrService;
@@ -70,26 +71,23 @@ public final class ServicesWrapper implements BaseServicesWrapper, TransactionSe
     public static ServicesWrapper newInstance(final SchemaContextHandler schemaCtxHandler,
             final DOMMountPointServiceHandler domMountPointServiceHandler,
             final TransactionChainHandler transactionChainHandler, final DOMDataBrokerHandler domDataBrokerHandler,
-            final RpcServiceHandler rpcServiceHandler, final NotificationServiceHandler notificationServiceHandler,
-            final DOMSchemaService domSchemaService) {
-        RestconfOperationsService restconfOpsService =
-                new RestconfOperationsServiceImpl(schemaCtxHandler, domMountPointServiceHandler);
+            final RpcServiceHandler rpcServiceHandler, final ActionServiceHandler actionServiceHandler,
+            final NotificationServiceHandler notificationServiceHandler, final DOMSchemaService domSchemaService) {
+        RestconfOperationsService restconfOpsService = new RestconfOperationsServiceImpl(schemaCtxHandler,
+            domMountPointServiceHandler);
         final DOMYangTextSourceProvider yangTextSourceProvider = domSchemaService.getExtensions()
-                .getInstance(DOMYangTextSourceProvider.class);
-        RestconfSchemaService restconfSchemaService =
-                new RestconfSchemaServiceImpl(schemaCtxHandler, domMountPointServiceHandler,
-                yangTextSourceProvider);
-        RestconfStreamsSubscriptionService restconfSubscrService =
-                new RestconfStreamsSubscriptionServiceImpl(domDataBrokerHandler,
-                notificationServiceHandler, schemaCtxHandler, transactionChainHandler);
-        RestconfDataService restconfDataService =
-                new RestconfDataServiceImpl(schemaCtxHandler, transactionChainHandler, domMountPointServiceHandler,
-                        restconfSubscrService);
-        RestconfInvokeOperationsService restconfInvokeOpsService =
-                new RestconfInvokeOperationsServiceImpl(rpcServiceHandler, schemaCtxHandler);
+            .getInstance(DOMYangTextSourceProvider.class);
+        RestconfSchemaService restconfSchemaService = new RestconfSchemaServiceImpl(schemaCtxHandler,
+            domMountPointServiceHandler, yangTextSourceProvider);
+        RestconfStreamsSubscriptionService restconfSubscrService = new RestconfStreamsSubscriptionServiceImpl(
+            domDataBrokerHandler, notificationServiceHandler, schemaCtxHandler, transactionChainHandler);
+        RestconfDataService restconfDataService = new RestconfDataServiceImpl(schemaCtxHandler, transactionChainHandler,
+            domMountPointServiceHandler, restconfSubscrService, actionServiceHandler);
+        RestconfInvokeOperationsService restconfInvokeOpsService = new RestconfInvokeOperationsServiceImpl(
+            rpcServiceHandler, schemaCtxHandler);
         RestconfService restconfService = new RestconfImpl(schemaCtxHandler);
-        return new ServicesWrapper(restconfDataService, restconfInvokeOpsService,
-                restconfSubscrService, restconfOpsService, restconfSchemaService, restconfService);
+        return new ServicesWrapper(restconfDataService, restconfInvokeOpsService, restconfSubscrService,
+            restconfOpsService, restconfSchemaService, restconfService);
     }
 
     @Override