X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2FRendererProvider.java;h=3bfacdc7373f0c956c14fb29ffad2a5e408453bc;hb=b5ee86a522ce3cf5c6216f10647edb08b31c72e9;hp=66eee2251f66766c8f160eab9238cac59b8b8b80;hpb=487f960d91fd41fe09c33bd79258246e808143b5;p=transportpce.git diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/RendererProvider.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/RendererProvider.java index 66eee2251..3bfacdc73 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/RendererProvider.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/RendererProvider.java @@ -1,5 +1,5 @@ /* - * Copyright © 2016 Orange and others. All rights reserved. + * Copyright © 2017 AT&T and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -7,24 +7,30 @@ */ package org.opendaylight.transportpce.renderer; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.MountPointService; - - +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations; +import org.opendaylight.transportpce.renderer.rpcs.DeviceRendererRPCImpl; +import org.opendaylight.transportpce.renderer.rpcs.TransportPCEServicePathRPCImpl; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.TransportpceDeviceRendererService; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererService; +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class RendererProvider { private static final Logger LOG = LoggerFactory.getLogger(RendererProvider.class); - - private final DataBroker dataBroker; - - private final MountPointService mountPointService; - - public RendererProvider(final DataBroker dataBroker, final MountPointService mountPointService) { - this.dataBroker = dataBroker; - this.mountPointService = mountPointService; + private final RpcProviderService rpcProviderService; + private DeviceRendererRPCImpl deviceRendererRPCImpl; + private ObjectRegistration deviceRendererRegistration; + private ObjectRegistration tpceServiceRegistry; + private RendererServiceOperations rendererServiceOperations; + + public RendererProvider(RpcProviderService rpcProviderService, DeviceRendererRPCImpl deviceRendererRPCImpl, + RendererServiceOperations rendererServiceOperations) { + this.rpcProviderService = rpcProviderService; + this.deviceRendererRPCImpl = deviceRendererRPCImpl; + this.rendererServiceOperations = rendererServiceOperations; } /** @@ -32,6 +38,12 @@ public class RendererProvider { */ public void init() { LOG.info("RendererProvider Session Initiated"); + TransportPCEServicePathRPCImpl transportPCEServicePathRPCImpl = + new TransportPCEServicePathRPCImpl(this.rendererServiceOperations); + this.deviceRendererRegistration = this.rpcProviderService + .registerRpcImplementation(TransportpceDeviceRendererService.class, deviceRendererRPCImpl); + this.tpceServiceRegistry = this.rpcProviderService + .registerRpcImplementation(TransportpceRendererService.class, transportPCEServicePathRPCImpl); } /** @@ -39,5 +51,12 @@ public class RendererProvider { */ public void close() { LOG.info("RendererProvider Closed"); + if (this.deviceRendererRegistration != null) { + this.deviceRendererRegistration.close(); + } + if (this.tpceServiceRegistry != null) { + this.tpceServiceRegistry.close(); + } } + }