Turn PceServiceRPCImpl into a Component
[transportpce.git] / lighty / src / main / java / io / lighty / controllers / tpce / module / TransportPCEImpl.java
index 8a3db47e36062f2e32904733874cf1bd86ef720e..739c34014afcbbdb98b52417e2902b8f6a1057b6 100644 (file)
@@ -44,9 +44,9 @@ import org.opendaylight.transportpce.olm.power.PowerMgmtImpl;
 import org.opendaylight.transportpce.olm.service.OlmPowerServiceImpl;
 import org.opendaylight.transportpce.pce.gnpy.consumer.GnpyConsumerImpl;
 import org.opendaylight.transportpce.pce.impl.PceProvider;
+import org.opendaylight.transportpce.pce.impl.PceServiceRPCImpl;
 import org.opendaylight.transportpce.pce.service.PathComputationService;
 import org.opendaylight.transportpce.pce.service.PathComputationServiceImpl;
-import org.opendaylight.transportpce.renderer.RendererProvider;
 import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory;
 // Adding OTN interface
 import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRendererService;
@@ -93,8 +93,6 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP
     private final PceProvider pceProvider;
     // network model beans
     private final NetworkModelProvider networkModelProvider;
-    // renderer beans
-    private final RendererProvider rendererProvider;
     // service-handler beans
     private final ServicehandlerProvider servicehandlerProvider;
     // T-api
@@ -140,7 +138,7 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP
                 new GnpyConsumerImpl(
                     "http://127.0.0.1:8008", "gnpy", "gnpy", lightyServices.getAdapterContext().currentSerializer()),
                 portMapping);
-        pceProvider = new PceProvider(lgServRPS, pathComputationService);
+        pceProvider = new PceProvider(lgServRPS, pathComputationService, new PceServiceRPCImpl(pathComputationService));
 
         LOG.info("Creating OLM beans ...");
         MappingUtils mappingUtils = new MappingUtilsImpl(lgServBDB);
@@ -163,8 +161,7 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP
                 mappingUtils, portMapping);
         OtnDeviceRendererService otnDeviceRendererService = new OtnDeviceRendererServiceImpl(
                 crossConnect, openRoadmInterfaces, deviceTransactionManager, mappingUtils, portMapping);
-        rendererProvider = initRenderer(
-                lightyServices, olmPowerServiceRpc, deviceRendererService, otnDeviceRendererService, portMapping);
+        initRenderer(lightyServices, olmPowerServiceRpc, deviceRendererService, otnDeviceRendererService, portMapping);
 
         LOG.info("Creating service-handler beans ...");
         RendererServiceOperations rendererServiceOperations = new RendererServiceOperationsImpl(
@@ -238,8 +235,6 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP
             LOG.info("Shutting down service-handler provider ...");
         }
         servicehandlerProvider.close();
-        LOG.info("Shutting down renderer provider ...");
-        rendererProvider.close();
         LOG.info("Shutting down network-model provider ...");
         networkModelProvider.close();
         LOG.info("Shutting down PCE provider ...");
@@ -267,19 +262,27 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP
             tapiNetworkModelListenerImpl, tapiNetworkModelService);
     }
 
-    private RendererProvider initRenderer(
+    private void initRenderer(
             LightyServices lightyServices, TransportpceOlmService olmPowerServiceRpc,
             DeviceRendererService deviceRendererService, OtnDeviceRendererService otnDeviceRendererService,
             PortMapping portMapping) {
-        return new RendererProvider(
-            lightyServices.getRpcProviderService(), deviceRendererService,
-            otnDeviceRendererService,
-            new DeviceRendererRPCImpl(deviceRendererService, otnDeviceRendererService),
+        rpcRegistrations.add(
+            new DeviceRendererRPCImpl(
+                    lightyServices.getRpcProviderService(),
+                    deviceRendererService,
+                    otnDeviceRendererService)
+                .getRegisteredRpc());
+        rpcRegistrations.add(
             new TransportPCEServicePathRPCImpl(
-                new RendererServiceOperationsImpl(
-                    deviceRendererService, otnDeviceRendererService, olmPowerServiceRpc,
-                    lightyServices.getBindingDataBroker(), lightyServices.getBindingNotificationPublishService(),
-                    portMapping)));
+                    new RendererServiceOperationsImpl(
+                            deviceRendererService,
+                            otnDeviceRendererService,
+                            olmPowerServiceRpc,
+                            lightyServices.getBindingDataBroker(),
+                            lightyServices.getBindingNotificationPublishService(),
+                            portMapping),
+                    lightyServices.getRpcProviderService())
+                .getRegisteredRpc());
     }
 
     private OpenRoadmInterfaceFactory initOpenRoadmFactory(