X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2FRendererProvider.java;h=69dad3864565ebef98c839252226ebacf4138ba0;hb=0da8cea9fcd1c78753493ed6929f6e3241da06df;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..69dad3864 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.controller.sal.binding.api.BindingAwareBroker.RpcRegistration; +import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +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.transportpce.b.c._interface.servicepath.rev170426.TransportpceServicepathService; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.RendererService; 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 RpcProviderRegistry rpcProviderRegistry; + private RpcRegistration deviceRendererRegistration; + private DeviceRendererRPCImpl deviceRendererRPCImpl; + private RpcRegistration tpceServiceRegistry; + private RendererServiceOperations rendererServiceOperations; + + public RendererProvider(RpcProviderRegistry rpcProviderRegistry, DeviceRendererRPCImpl deviceRendererRPCImpl, + RendererServiceOperations rendererServiceOperations) { + this.rpcProviderRegistry = rpcProviderRegistry; + 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.rpcProviderRegistry + .addRpcImplementation(RendererService.class, this.deviceRendererRPCImpl); + this.tpceServiceRegistry = this.rpcProviderRegistry + .addRpcImplementation(TransportpceServicepathService.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(); + } } + }