X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=lighty%2Fsrc%2Fmain%2Fjava%2Fio%2Flighty%2Fcontrollers%2Ftpce%2Fmodule%2FTransportPCEImpl.java;h=f2542536c1d8fe5bb0b624d683357dba30e9ae54;hb=c305715705f2fc92e418c49cbb7c43e501c3d4c6;hp=fe1c59fa6c152f9bc100c09f1a632bedb9881c49;hpb=952583aa9f0de2de04f230291a5989413591a7b7;p=transportpce.git diff --git a/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java b/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java index fe1c59fa6..f2542536c 100644 --- a/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java +++ b/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java @@ -9,6 +9,10 @@ package io.lighty.controllers.tpce.module; import io.lighty.core.controller.api.AbstractLightyModule; import io.lighty.core.controller.api.LightyServices; + +import java.util.Arrays; +import java.util.List; + import org.opendaylight.transportpce.common.crossconnect.CrossConnect; import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl; import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121; @@ -29,6 +33,7 @@ import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfa import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl710; +import org.opendaylight.transportpce.nbinotifications.impl.NbiNotificationsProvider; import org.opendaylight.transportpce.networkmodel.NetConfTopologyListener; import org.opendaylight.transportpce.networkmodel.NetworkModelProvider; import org.opendaylight.transportpce.networkmodel.NetworkUtilsImpl; @@ -98,8 +103,15 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP private final TapiProvider tapiProvider; // service-handler beans private final ServicehandlerProvider servicehandlerProvider; + // nbi-notifications beans + private NbiNotificationsProvider nbiNotificationsProvider; + /** + * List of publisher topics. + */ + private final List publisherTopicList = + Arrays.asList("PceListener", "ServiceHandlerOperations", "ServiceHandler", "RendererListener"); - public TransportPCEImpl(LightyServices lightyServices) { + public TransportPCEImpl(LightyServices lightyServices, boolean activateNbiNotification) { LOG.info("Initializing transaction providers ..."); deviceTransactionManager = new DeviceTransactionManagerImpl(lightyServices.getBindingMountPointService(), MAX_DURATION_TO_SUBMIT_TRANSACTION); @@ -175,6 +187,12 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP serviceDataStoreOperations, pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, servicehandler); tapiProvider = initTapi(lightyServices, servicehandler); + if(activateNbiNotification) { + LOG.info("Creating nbi-notifications beans ..."); + nbiNotificationsProvider = new NbiNotificationsProvider( + publisherTopicList, null, null, lightyServices.getRpcProviderService(), + lightyServices.getNotificationService(), lightyServices.getAdapterContext().currentSerializer()); + } } @Override @@ -191,12 +209,16 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP servicehandlerProvider.init(); LOG.info("Initializing tapi provider ..."); tapiProvider.init(); + LOG.info("Initializing nbi-notifications provider ..."); + nbiNotificationsProvider.init(); LOG.info("Init done."); return true; } @Override protected boolean stopProcedure() { + nbiNotificationsProvider.close(); + LOG.info("Shutting down nbi-notifications provider ..."); tapiProvider.close(); LOG.info("Shutting down service-handler provider ..."); servicehandlerProvider.close();