import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperationsImpl;
import org.opendaylight.transportpce.renderer.rpcs.DeviceRendererRPCImpl;
+import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerImpl;
import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerProvider;
import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelListenerImpl;
import org.opendaylight.transportpce.servicehandler.listeners.PceListenerImpl;
import org.opendaylight.transportpce.servicehandler.listeners.RendererListenerImpl;
import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations;
import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperationsImpl;
-import org.opendaylight.transportpce.servicehandler.service.ServiceHandlerOperations;
-import org.opendaylight.transportpce.servicehandler.service.ServiceHandlerOperationsImpl;
import org.opendaylight.transportpce.tapi.impl.TapiProvider;
import org.opendaylight.transportpce.tapi.utils.TapiListener;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.TransportpceNetworkutilsService;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.TransportpceOlmService;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.OrgOpenroadmServiceService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
RendererServiceOperations rendererServiceOperations = new RendererServiceOperationsImpl(deviceRendererService,
otnDeviceRendererService, olmPowerServiceRpc, lightyServices.getBindingDataBroker(),
lightyServices.getBindingNotificationPublishService());
+ ServiceDataStoreOperations serviceDataStoreOperations = new ServiceDataStoreOperationsImpl(
+ lightyServices.getBindingDataBroker());
+ RendererListenerImpl rendererListenerImpl = new RendererListenerImpl(pathComputationService,
+ lightyServices.getBindingNotificationPublishService());
+ PceListenerImpl pceListenerImpl = new PceListenerImpl(rendererServiceOperations, pathComputationService,
+ lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations);
+ NetworkModelListenerImpl networkModelListenerImpl = new NetworkModelListenerImpl(
+ lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations);
+ ServicehandlerImpl servicehandler = new ServicehandlerImpl(lightyServices.getBindingDataBroker(),
+ pathComputationService, rendererServiceOperations, lightyServices.getBindingNotificationPublishService(),
+ pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, serviceDataStoreOperations);
servicehandlerProvider = new ServicehandlerProvider(lightyServices.getBindingDataBroker(),
- lightyServices.getRpcProviderService(), lightyServices.getNotificationService(), pathComputationService,
- rendererServiceOperations, lightyServices.getBindingNotificationPublishService());
- tapiProvider = initTapi(lightyServices, rendererServiceOperations, pathComputationService);
+ lightyServices.getRpcProviderService(), lightyServices.getNotificationService(),
+ serviceDataStoreOperations, pceListenerImpl, rendererListenerImpl, networkModelListenerImpl,
+ servicehandler);
+ tapiProvider = initTapi(lightyServices, servicehandler);
}
@Override
* @param rendererServiceOperations RendererServiceOperations
* @return TapiProvider instance
*/
- private TapiProvider initTapi(LightyServices lightyServices, RendererServiceOperations rendererServiceOperations,
- PathComputationService pathComputationService) {
- RendererListenerImpl rendererListenerImpl = new RendererListenerImpl(pathComputationService,
- lightyServices.getBindingNotificationPublishService());
- ServiceDataStoreOperations serviceDataStoreOperations = new ServiceDataStoreOperationsImpl(
- lightyServices.getBindingDataBroker());
- PceListenerImpl pceListenerImpl = new PceListenerImpl(rendererServiceOperations, pathComputationService,
- lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations);
- NetworkModelListenerImpl networkModelListenerImpl =
- new NetworkModelListenerImpl(lightyServices.getBindingNotificationPublishService(),
- serviceDataStoreOperations);
- ServiceHandlerOperations serviceHandlerOperations = new ServiceHandlerOperationsImpl(
- lightyServices.getBindingDataBroker(), pathComputationService, rendererServiceOperations,
- lightyServices.getBindingNotificationPublishService(), pceListenerImpl, rendererListenerImpl,
- networkModelListenerImpl);
+ private TapiProvider initTapi(LightyServices lightyServices, OrgOpenroadmServiceService servicehandler) {
return new TapiProvider(lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(),
- serviceHandlerOperations, new TapiListener());
+ servicehandler, new TapiListener());
}
/**
package org.opendaylight.transportpce.servicehandler.impl;
import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.NotificationPublishService;
import org.opendaylight.mdsal.binding.api.NotificationService;
import org.opendaylight.mdsal.binding.api.RpcProviderService;
-import org.opendaylight.transportpce.pce.service.PathComputationService;
-import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelListenerImpl;
import org.opendaylight.transportpce.servicehandler.listeners.PceListenerImpl;
import org.opendaylight.transportpce.servicehandler.listeners.RendererListenerImpl;
private final DataBroker dataBroker;
private final RpcProviderService rpcService;
private final NotificationService notificationService;
- private final NotificationPublishService notificationPublishService;
private ListenerRegistration<TransportpcePceListener> pcelistenerRegistration;
private ListenerRegistration<TransportpceRendererListener> rendererlistenerRegistration;
private ListenerRegistration<TransportpceNetworkmodelListener> networkmodellistenerRegistration;
private ObjectRegistration<OrgOpenroadmServiceService> rpcRegistration;
- private PathComputationService pathComputationService;
- private RendererServiceOperations rendererServiceOperations;
private ServiceDataStoreOperations serviceDataStoreOperations;
+ private PceListenerImpl pceListenerImpl;
+ private RendererListenerImpl rendererListenerImpl;
+ private NetworkModelListenerImpl networkModelListenerImpl;
+ private ServicehandlerImpl servicehandler;
+
public ServicehandlerProvider(final DataBroker dataBroker, RpcProviderService rpcProviderService,
- NotificationService notificationService, PathComputationService pathComputationService,
- RendererServiceOperations rendererServiceOperations,
- NotificationPublishService notificationPublishService,
- ServiceDataStoreOperations serviceDataStoreOperations) {
+ NotificationService notificationService, ServiceDataStoreOperations serviceDataStoreOperations,
+ PceListenerImpl pceListenerImpl, RendererListenerImpl rendererListenerImpl,
+ NetworkModelListenerImpl networkModelListenerImpl, ServicehandlerImpl servicehandler) {
this.dataBroker = dataBroker;
this.rpcService = rpcProviderService;
this.notificationService = notificationService;
- this.pathComputationService = pathComputationService;
- this.rendererServiceOperations = rendererServiceOperations;
- this.notificationPublishService = notificationPublishService;
this.serviceDataStoreOperations = serviceDataStoreOperations;
this.serviceDataStoreOperations.initialize();
+ this.pceListenerImpl = pceListenerImpl;
+ this.rendererListenerImpl = rendererListenerImpl;
+ this.networkModelListenerImpl = networkModelListenerImpl;
+ this.servicehandler = servicehandler;
}
/**
*/
public void init() {
LOG.info("ServicehandlerProvider Session Initiated");
- final PceListenerImpl pceListenerImpl = new PceListenerImpl(rendererServiceOperations,
- pathComputationService, notificationPublishService, serviceDataStoreOperations);
- final RendererListenerImpl rendererListenerImpl =
- new RendererListenerImpl(pathComputationService, notificationPublishService);
- final NetworkModelListenerImpl networkModelListenerImpl =
- new NetworkModelListenerImpl(notificationPublishService, serviceDataStoreOperations);
pcelistenerRegistration = notificationService.registerNotificationListener(pceListenerImpl);
rendererlistenerRegistration = notificationService.registerNotificationListener(rendererListenerImpl);
networkmodellistenerRegistration = notificationService.registerNotificationListener(networkModelListenerImpl);
- final ServicehandlerImpl servicehandler = new ServicehandlerImpl(dataBroker, pathComputationService,
- rendererServiceOperations, notificationPublishService, pceListenerImpl, rendererListenerImpl,
- networkModelListenerImpl, serviceDataStoreOperations);
- rpcRegistration =
- rpcService.registerRpcImplementation(OrgOpenroadmServiceService.class, servicehandler);
+ rpcRegistration = rpcService.registerRpcImplementation(OrgOpenroadmServiceService.class, servicehandler);
}
/**
+++ /dev/null
-/*
- * Copyright © 2018 Orange, Inc. 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,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.transportpce.servicehandler.service;
-
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteOutput;
-
-public interface ServiceHandlerOperations {
- ServiceCreateOutput serviceCreate(ServiceCreateInput input);
-
- ServiceDeleteOutput serviceDelete(ServiceDeleteInput input);
-
-}
+++ /dev/null
-/*
- * Copyright © 2018 Orange, Inc. 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,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.transportpce.servicehandler.service;
-
-import com.google.common.util.concurrent.ListenableFuture;
-import java.util.concurrent.ExecutionException;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.NotificationPublishService;
-import org.opendaylight.transportpce.pce.service.PathComputationService;
-import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
-import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerImpl;
-import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelListenerImpl;
-import org.opendaylight.transportpce.servicehandler.listeners.PceListenerImpl;
-import org.opendaylight.transportpce.servicehandler.listeners.RendererListenerImpl;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteOutput;
-import org.opendaylight.yangtools.yang.common.RpcResult;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ServiceHandlerOperationsImpl implements ServiceHandlerOperations {
-
- private static final Logger LOG = LoggerFactory.getLogger(ServiceHandlerOperationsImpl.class);
-
- private ServicehandlerImpl serviceHandler;
-
- public ServiceHandlerOperationsImpl(DataBroker databroker, PathComputationService pathComputationService,
- RendererServiceOperations rendererServiceOperations, NotificationPublishService notificationPublishService,
- PceListenerImpl pceListenerImpl, RendererListenerImpl rendererListenerImpl,
- NetworkModelListenerImpl networkModelListenerImpl, ServiceDataStoreOperations serviceDataStoreOperations) {
- this.serviceHandler = new ServicehandlerImpl(databroker, pathComputationService, rendererServiceOperations,
- notificationPublishService, pceListenerImpl, rendererListenerImpl, networkModelListenerImpl,
- serviceDataStoreOperations);
- }
-
- @Override
- public ServiceCreateOutput serviceCreate(ServiceCreateInput input) {
- ListenableFuture<RpcResult<ServiceCreateOutput>> output = this.serviceHandler.serviceCreate(input);
- ServiceCreateOutput outputresult = null;
- try {
- outputresult = output.get().getResult();
- } catch (InterruptedException | ExecutionException e) {
- LOG.error("Rpc service create failed", e);
- }
- return outputresult;
- }
-
- @Override
- public ServiceDeleteOutput serviceDelete(ServiceDeleteInput input) {
- return null;
- }
-
- public void init() {
- LOG.info("init ServiceHandlerOperationsImpl...");
- }
-
- public void close() {
- LOG.info("close ServiceHandlerOperationsImpl...");
- }
-
-}
<argument ref="serviceDatastoreOperation" />
</bean>
- <bean id="serviceHandlerImpl" class="org.opendaylight.transportpce.servicehandler.service.ServiceHandlerOperationsImpl">
+ <bean id="serviceHandlerImpl" class="org.opendaylight.transportpce.servicehandler.impl.ServicehandlerImpl">
<argument ref="dataBroker"/>
<argument ref="pathComputationService" />
<argument ref="notificationPublishService" />
<argument ref="rpcService" />
<argument ref="dataBroker" />
<argument ref="notificationService" />
- <argument ref="notificationPublishService" />
- <argument ref="pathComputationService" />
- <argument ref="rendererServiceOperations" />
<argument ref="serviceDatastoreOperation" />
+ <argument ref="pceListener" />
+ <argument ref="rendererListener" />
+ <argument ref="networkModelListener" />
+ <argument ref="serviceHandlerImpl" />
</bean>
<service ref="serviceHandlerImpl"
- interface="org.opendaylight.transportpce.servicehandler.service.ServiceHandlerOperations"/>
+ interface="org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.OrgOpenroadmServiceService"/>
</blueprint>
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.opendaylight.mdsal.binding.api.NotificationPublishService;
import org.opendaylight.mdsal.binding.api.RpcProviderService;
-import org.opendaylight.transportpce.pce.service.PathComputationService;
-import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
+import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelListenerImpl;
+import org.opendaylight.transportpce.servicehandler.listeners.PceListenerImpl;
+import org.opendaylight.transportpce.servicehandler.listeners.RendererListenerImpl;
import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations;
import org.opendaylight.transportpce.test.AbstractTest;
public class ServicehandlerProviderTest extends AbstractTest {
@Mock
- private PathComputationService pathComputationService;
+ RpcProviderService rpcProviderRegistry;
@Mock
- private RendererServiceOperations rendererServiceOperations;
+ ServiceDataStoreOperations serviceDataStoreOperations;
@Mock
- private NotificationPublishService notificationPublishService;
+ PceListenerImpl pceListenerImpl;
@Mock
- RpcProviderService rpcProviderRegistry;
+ RendererListenerImpl rendererListenerImpl;
@Mock
- ServiceDataStoreOperations serviceDataStoreOperations;
+ NetworkModelListenerImpl networkModelListenerImpl;
+
+ @Mock
+ ServicehandlerImpl servicehandler;
@Before
public void init() {
public void testInitRegisterServiceHandlerToRpcRegistry() {
ServicehandlerProvider provider = new ServicehandlerProvider(
getDataBroker(), rpcProviderRegistry,
- getNotificationService() , pathComputationService,
- rendererServiceOperations, notificationPublishService, serviceDataStoreOperations);
+ getNotificationService() , serviceDataStoreOperations, pceListenerImpl, rendererListenerImpl,
+ networkModelListenerImpl, servicehandler);
provider.init();
import java.util.Map;
import java.util.UUID;
import org.opendaylight.transportpce.common.OperationResult;
-import org.opendaylight.transportpce.servicehandler.service.ServiceHandlerOperations;
import org.opendaylight.transportpce.tapi.utils.GenericServiceEndpoint;
import org.opendaylight.transportpce.tapi.utils.MappingUtils;
import org.opendaylight.transportpce.tapi.utils.TapiUtils;
import org.opendaylight.transportpce.tapi.validation.CreateConnectivityServiceValidation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.OrgOpenroadmServiceService;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateOutput;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Uuid;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.Name;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.NameBuilder;
private static final Logger LOG = LoggerFactory.getLogger(TapiImpl.class);
- private ServiceHandlerOperations serviceHandler;
+ private OrgOpenroadmServiceService serviceHandler;
- public TapiImpl(ServiceHandlerOperations serviceHandler) {
+ public TapiImpl(OrgOpenroadmServiceService serviceHandler) {
LOG.info("inside TapiImpl constructor");
this.serviceHandler = serviceHandler;
}
map.get(input.getEndPoint().values().stream().skip(1).findFirst().get()
.getServiceInterfacePoint()
.getServiceInterfacePointUuid()));
- this.serviceHandler.serviceCreate(sci);
+ ListenableFuture<RpcResult<ServiceCreateOutput>> output = this.serviceHandler.serviceCreate(sci);
+ if (!output.isDone()) {
+ return RpcResultBuilder.<CreateConnectivityServiceOutput>failed().buildFuture();
+ }
} else {
LOG.error("Unknown UUID");
}
.setConnection(Map.of(connection.key(), connection))
.build())
.build();
-
return RpcResultBuilder.success(output).buildFuture();
}
import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
import org.opendaylight.mdsal.binding.api.RpcProviderService;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.transportpce.servicehandler.service.ServiceHandlerOperations;
import org.opendaylight.transportpce.tapi.topology.TapiTopologyImpl;
import org.opendaylight.transportpce.tapi.utils.TapiListener;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.OrgOpenroadmServiceService;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.TapiConnectivityService;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.TapiTopologyService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.tapi.rev180928.ServiceInterfacePoints;
private final DataBroker dataBroker;
private final RpcProviderService rpcProviderService;
private ObjectRegistration<TapiConnectivityService> rpcRegistration;
- private final ServiceHandlerOperations serviceHandler;
+ private final OrgOpenroadmServiceService serviceHandler;
private final TapiListener tapiListener;
public TapiProvider(DataBroker dataBroker, RpcProviderService rpcProviderService,
- ServiceHandlerOperations serviceHanlder, TapiListener tapiListener) {
+ OrgOpenroadmServiceService serviceHandler, TapiListener tapiListener) {
this.dataBroker = dataBroker;
this.rpcProviderService = rpcProviderService;
- this.serviceHandler = serviceHanlder;
+ this.serviceHandler = serviceHandler;
this.tapiListener = tapiListener;
}
interface="org.opendaylight.mdsal.binding.api.RpcProviderService"/>
<reference id="serviceHandlerService"
- interface="org.opendaylight.transportpce.servicehandler.service.ServiceHandlerOperations" />
+ interface="org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.OrgOpenroadmServiceService" />
<bean id="tapiListener"
class="org.opendaylight.transportpce.tapi.utils.TapiListener">