Update stubRenderer 79/78379/4
authorMartial COULIBALY <martial.coulibaly@gfi.fr>
Mon, 3 Dec 2018 14:37:40 +0000 (15:37 +0100)
committerMartial COULIBALY <martial.coulibaly@gfi.fr>
Mon, 3 Dec 2018 16:44:13 +0000 (17:44 +0100)
Add NetworkModelWavelengthService to be able update
openraodm-topology especially the TPs used.

Change-Id: I743506baf4f621590e3257d76ca790129e56925c
Signed-off-by: Martial COULIBALY <martial.coulibaly@gfi.fr>
renderer/src/main/resources/org/opendaylight/blueprint/renderer-blueprint.xml
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerImpl.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerProvider.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/stub/StubRendererServiceOperations.java
servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/stub/StubrendererImpl.java
servicehandler/src/main/resources/org/opendaylight/blueprint/servicehandler-blueprint.xml
servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/impl/ServiceHandlerImplTest.java
servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/service/ServiceDataStoreOperationsImplTest.java
tests/SH_stubs.diff

index 467e352661562ae95940a0d2a5a566624a992e79..6ef15d1874651f9ea20fe086432a13804329c732 100644 (file)
@@ -65,4 +65,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <service ref="rendererServiceOperations"
            interface="org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations" />
 
+  <service ref="networkModelWavelengthService"
+           interface="org.opendaylight.transportpce.renderer.NetworkModelWavelengthService" />
+
 </blueprint>
index 44ef53a17c0fc6b1e62c71be6994dac6bde24205..3a07abb10a6c35693ff30748c9253037e40284bb 100644 (file)
@@ -19,6 +19,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.transportpce.common.OperationResult;
 import org.opendaylight.transportpce.common.ResponseCodes;
 import org.opendaylight.transportpce.pce.service.PathComputationService;
+import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
 import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
 import org.opendaylight.transportpce.servicehandler.ModelMappingUtils;
 import org.opendaylight.transportpce.servicehandler.ServiceInput;
@@ -92,7 +93,8 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
     //TODO: remove private request fields as they are in global scope
 
     public ServicehandlerImpl(DataBroker databroker, PathComputationService pathComputationService,
-                              RendererServiceOperations rendererServiceOperations) {
+            RendererServiceOperations rendererServiceOperations,
+            NetworkModelWavelengthService networkModelWavelengthService) {
         this.db = databroker;
         this.rendererServiceOperations = rendererServiceOperations;
         this.serviceDataStoreOperations = new ServiceDataStoreOperationsImpl(this.db);
@@ -221,7 +223,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
             .ServiceDeleteInput serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(
                     new ServiceInput(input));
         org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017
-            .ServiceDeleteOutput output = this.rendererServiceOperations.serviceDelete(serviceDeleteInput);
+                .ServiceDeleteOutput output = this.rendererServiceOperations.serviceDelete(serviceDeleteInput);
 
         if (!ResponseCodes.RESPONSE_OK
                 .equals(output.getConfigurationResponseCommon().getResponseCode())) {
index 28e8b00215531ac23f5123ebe7a35a17c640ea93..003637e5e7e2c57ca73eea526e228fd1a7b5100e 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.controller.md.sal.binding.api.NotificationService;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration;
 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
 import org.opendaylight.transportpce.pce.service.PathComputationService;
+import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
 import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
 import org.opendaylight.transportpce.servicehandler.listeners.PceListenerImpl;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev170426.TransportpcePceListener;
@@ -34,6 +35,7 @@ public class ServicehandlerProvider {
     private final DataBroker dataBroker;
     private final RpcProviderRegistry rpcRegistry;
     private final NotificationService notificationService;
+    private final NetworkModelWavelengthService networkModelWavelengthService;
     private ListenerRegistration<TransportpcePceListener> pcelistenerRegistration;
     private RpcRegistration<OrgOpenroadmServiceService> rpcRegistration;
     private PathComputationService pathComputationService;
@@ -41,12 +43,14 @@ public class ServicehandlerProvider {
 
     public ServicehandlerProvider(final DataBroker dataBroker, RpcProviderRegistry rpcProviderRegistry,
             NotificationService notificationService, PathComputationService pathComputationService,
-            RendererServiceOperations rendererServiceOperations) {
+            RendererServiceOperations rendererServiceOperations,
+            NetworkModelWavelengthService networkModelWavelengthService) {
         this.dataBroker = dataBroker;
         this.rpcRegistry = rpcProviderRegistry;
         this.notificationService = notificationService;
         this.pathComputationService = pathComputationService;
         this.rendererServiceOperations = rendererServiceOperations;
+        this.networkModelWavelengthService = networkModelWavelengthService;
     }
 
     /**
@@ -55,7 +59,7 @@ public class ServicehandlerProvider {
     public void init() {
         LOG.info("ServicehandlerProvider Session Initiated");
         final ServicehandlerImpl servicehandler = new ServicehandlerImpl(dataBroker, pathComputationService,
-                rendererServiceOperations);
+                rendererServiceOperations, networkModelWavelengthService);
         final PceListenerImpl pceListener = new PceListenerImpl();
         rpcRegistration = rpcRegistry.addRpcImplementation(OrgOpenroadmServiceService.class, servicehandler);
     }
index d87a4a7f794e1f3ce078ee871d0ad44279e5ed51..95053ec407b021cf98c2145a690f7dcf23433655 100644 (file)
@@ -8,7 +8,11 @@
 package org.opendaylight.transportpce.servicehandler.stub;
 
 import com.google.common.util.concurrent.ListenableFuture;
+
 import java.util.concurrent.ExecutionException;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
 import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceDeleteInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceDeleteOutput;
@@ -20,11 +24,17 @@ import org.slf4j.LoggerFactory;
 
 public class StubRendererServiceOperations implements RendererServiceOperations {
     private static final Logger LOG = LoggerFactory.getLogger(StubRendererServiceOperations.class);
+    private StubrendererImpl stubrendererImpl;
+
+    public StubRendererServiceOperations(NetworkModelWavelengthService networkModelWavelengthService,
+            DataBroker dataBroker) {
+        this.stubrendererImpl = new StubrendererImpl(networkModelWavelengthService, dataBroker);
+    }
 
     @Override
     public ServiceImplementationRequestOutput serviceImplementation(ServiceImplementationRequestInput input) {
-        ListenableFuture<RpcResult<ServiceImplementationRequestOutput>> rpcResultFuture = StubrendererImpl
-                .serviceImplementation(input);
+        ListenableFuture<RpcResult<ServiceImplementationRequestOutput>> rpcResultFuture =
+                this.stubrendererImpl.serviceImplementation(input);
         try {
             return rpcResultFuture.get().getResult();
         } catch (InterruptedException e) {
@@ -37,7 +47,7 @@ public class StubRendererServiceOperations implements RendererServiceOperations
 
     @Override
     public ServiceDeleteOutput serviceDelete(ServiceDeleteInput input) {
-        ListenableFuture<RpcResult<ServiceDeleteOutput>> rpcResultFuture = StubrendererImpl.serviceDelete(input);
+        ListenableFuture<RpcResult<ServiceDeleteOutput>> rpcResultFuture = this.stubrendererImpl.serviceDelete(input);
         try {
             return rpcResultFuture.get().getResult();
         } catch (InterruptedException e) {
index 167525fe89ba416738b1559c909bc91808372730..a964c97dd5dda3063b9cae1e6680edbab88d360c 100644 (file)
@@ -9,9 +9,19 @@
 
 package org.opendaylight.transportpce.servicehandler.stub;
 
+import com.google.common.base.Optional;
 import com.google.common.util.concurrent.ListenableFuture;
 
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.ResponseCodes;
+import org.opendaylight.transportpce.common.Timeouts;
+import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceDeleteInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceDeleteOutput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceDeleteOutputBuilder;
@@ -19,6 +29,11 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceImplementationRequestOutput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017.ServiceImplementationRequestOutputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev161014.configuration.response.common.ConfigurationResponseCommonBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev171016.service.path.PathDescription;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.ServicePathList;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsKey;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.slf4j.Logger;
@@ -31,18 +46,21 @@ import org.slf4j.LoggerFactory;
  * @author Martial Coulibaly ( martial.coulibaly@gfi.com ) on behalf of Orange
  *
  */
-public final class StubrendererImpl {
+public class StubrendererImpl {
     /** Logging. */
     private static final Logger LOG = LoggerFactory.getLogger(StubrendererImpl.class);
     /** check service sdnc-request-header compliancy. */
+    private final NetworkModelWavelengthService networkModelWavelengthService;
+    private final DataBroker dataBroker;
 
-    private StubrendererImpl() {
-
+    public StubrendererImpl(NetworkModelWavelengthService networkModelWavelengthService, DataBroker dataBroker) {
+        this.networkModelWavelengthService = networkModelWavelengthService;
+        this.dataBroker = dataBroker;
     }
 
-
-    public static ListenableFuture<RpcResult<ServiceDeleteOutput>> serviceDelete(ServiceDeleteInput input) {
+    public ListenableFuture<RpcResult<ServiceDeleteOutput>> serviceDelete(ServiceDeleteInput input) {
         LOG.info("ServiceDelete request ...");
+        String serviceName = input.getServiceName();
         String message = "";
         String responseCode = null;
         try {
@@ -53,7 +71,19 @@ public final class StubrendererImpl {
             LOG.error("deleting service failed !", e);
             responseCode = ResponseCodes.RESPONSE_FAILED;
         }
-        responseCode = ResponseCodes.RESPONSE_OK;
+        // Obtain path description
+        Optional<PathDescription> pathDescriptionOpt = getPathDescriptionFromDatastore(serviceName);
+        PathDescription pathDescription;
+        if (pathDescriptionOpt.isPresent()) {
+            pathDescription = pathDescriptionOpt.get();
+            this.networkModelWavelengthService.freeWavelengths(pathDescription);
+            responseCode = ResponseCodes.RESPONSE_OK;
+            message = "service deleted !";
+        } else {
+            LOG.error("failed to get pathDescription for service : {}", serviceName);
+            responseCode = ResponseCodes.RESPONSE_FAILED;
+            message = "failed to get pathDescription for service : " + serviceName;
+        }
         ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
                 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
                 .setRequestId(input.getServiceHandlerHeader().getRequestId())
@@ -65,7 +95,7 @@ public final class StubrendererImpl {
         return RpcResultBuilder.success(output).buildFuture();
     }
 
-    public static ListenableFuture<RpcResult<ServiceImplementationRequestOutput>>
+    public ListenableFuture<RpcResult<ServiceImplementationRequestOutput>>
         serviceImplementation(ServiceImplementationRequestInput input) {
         LOG.info("serviceImplementation request ...");
         String message = "";
@@ -78,6 +108,8 @@ public final class StubrendererImpl {
             LOG.error(message);
             responseCode = ResponseCodes.RESPONSE_FAILED;
         }
+        this.networkModelWavelengthService.useWavelengths(input.getPathDescription());
+        message = "service implemented !";
         responseCode = ResponseCodes.RESPONSE_OK;
         ConfigurationResponseCommonBuilder configurationResponseCommon = new ConfigurationResponseCommonBuilder()
                 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
@@ -89,4 +121,19 @@ public final class StubrendererImpl {
                 .build();
         return RpcResultBuilder.success(output).buildFuture();
     }
+
+    private Optional<PathDescription> getPathDescriptionFromDatastore(String serviceName) {
+        InstanceIdentifier<PathDescription> pathDescriptionIID = InstanceIdentifier.create(ServicePathList.class)
+                .child(ServicePaths.class, new ServicePathsKey(serviceName)).child(PathDescription.class);
+        ReadOnlyTransaction pathDescReadTx = this.dataBroker.newReadOnlyTransaction();
+        try {
+            LOG.debug("Getting path description for service {}", serviceName);
+            return pathDescReadTx.read(LogicalDatastoreType.OPERATIONAL, pathDescriptionIID)
+                    .get(Timeouts.DATASTORE_READ, TimeUnit.MILLISECONDS);
+        } catch (InterruptedException | ExecutionException | TimeoutException e) {
+            LOG.warn("Exception while getting path description from datastore {} for service {}!", pathDescriptionIID,
+                    serviceName, e);
+            return Optional.absent();
+        }
+    }
 }
index 7e0569a6093db973c7094741fe351fefb2f3d33e..be736445e9992236a4f8008eefd699e86917e7ff 100644 (file)
@@ -30,6 +30,9 @@ Author: Martial Coulibaly <martial.coulibaly@gfi.com> on behalf of Orange
     <reference id="rendererServiceOperations"\r
              interface="org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations" />\r
 \r
+    <reference id="networkModelWavelengthService"\r
+           interface="org.opendaylight.transportpce.renderer.NetworkModelWavelengthService" />\r
+\r
     <bean id="provider"\r
           class="org.opendaylight.transportpce.servicehandler.impl.ServicehandlerProvider"\r
           init-method="init" destroy-method="close">\r
@@ -38,6 +41,7 @@ Author: Martial Coulibaly <martial.coulibaly@gfi.com> on behalf of Orange
         <argument ref="notificationService" />\r
         <argument ref="pathComputationService" />\r
         <argument ref="rendererServiceOperations" />\r
+        <argument ref="networkModelWavelengthService" />\r
     </bean>\r
 \r
 </blueprint>\r
index bb9529952b331557b9d16fe881f12002beca85eb..685a4fcc6cab135448c4924877b90d7e27625ed0 100644 (file)
@@ -34,6 +34,7 @@ import org.opendaylight.transportpce.pce.service.PathComputationServiceImpl;
 import org.opendaylight.transportpce.pce.utils.NotificationPublishServiceMock;
 import org.opendaylight.transportpce.pce.utils.PceTestData;
 import org.opendaylight.transportpce.pce.utils.PceTestUtils;
+import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
 import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
 import org.opendaylight.transportpce.servicehandler.ModelMappingUtils;
 import org.opendaylight.transportpce.servicehandler.ServiceEndpointType;
@@ -88,6 +89,7 @@ public class ServiceHandlerImplTest extends AbstractTest {
 
     private PathComputationService pathComputationService;
     private RendererServiceOperations rendererServiceOperations;
+    private NetworkModelWavelengthService networkModelWavelengthService;
     private ServicehandlerImpl serviceHandler;
 
     @Mock
@@ -111,8 +113,8 @@ public class ServiceHandlerImplTest extends AbstractTest {
     @Before
     public void setUp() {
         this.serviceHandler = new ServicehandlerImpl(getDataBroker(), this.pathComputationService,
-                this.rendererServiceOperations);
-        this.serviceHandlerImplMock = new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null);
+                this.rendererServiceOperations, this.networkModelWavelengthService);
+        this.serviceHandlerImplMock = new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null, null);
         MockitoAnnotations.initMocks(this);
     }
 
@@ -121,7 +123,8 @@ public class ServiceHandlerImplTest extends AbstractTest {
         this.pathComputationService = new PathComputationServiceImpl(getDataBroker(), notificationPublishService);
         PceTestUtils.writeTopologyIntoDataStore(getDataBroker(), getDataStoreContextUtil(),
                 "topologyData/NW-simple-topology.xml");
-        this.rendererServiceOperations = new StubRendererServiceOperations();
+        this.rendererServiceOperations =
+                new StubRendererServiceOperations(this.networkModelWavelengthService, getDataBroker());
     }
 
     @Test
@@ -341,7 +344,8 @@ public class ServiceHandlerImplTest extends AbstractTest {
 
     @Test
     public void createServiceHandlerNotValidServiceAEndRateIsNull() throws ExecutionException, InterruptedException {
-        ServicehandlerImpl servicehandler = new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null);
+        ServicehandlerImpl servicehandler =
+                new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null, null);
         ServiceCreateInput notValidServiceAEnd = ServiceDataUtils.buildServiceCreateInput();
         ServiceCreateInputBuilder buildInput = new ServiceCreateInputBuilder(notValidServiceAEnd);
         notValidServiceAEnd = buildInput.setServiceAEnd(ServiceDataUtils.getServiceAEndBuild().setServiceRate(null)
@@ -354,7 +358,8 @@ public class ServiceHandlerImplTest extends AbstractTest {
 
     @Test
     public void createServiceHandlerNotValidServiceZEndRateIsNull() throws ExecutionException, InterruptedException {
-        ServicehandlerImpl servicehandler = new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null);
+        ServicehandlerImpl servicehandler =
+                new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null, null);
         ServiceCreateInput notValidServiceZEnd = ServiceDataUtils.buildServiceCreateInput();
         ServiceCreateInputBuilder buildInput = new ServiceCreateInputBuilder(notValidServiceZEnd);
         notValidServiceZEnd = buildInput.setServiceZEnd(ServiceDataUtils.getServiceZEndBuild().setServiceRate(null)
@@ -518,7 +523,7 @@ public class ServiceHandlerImplTest extends AbstractTest {
         txDirectionBuilder.setLgx(lgx);
         serviceAEndBuilder.setTxDirection(txDirectionBuilder.build());
         ServiceCreateInputBuilder buildInput = new ServiceCreateInputBuilder(serviceCreateInput);
-        this.serviceHandler = new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null);
+        this.serviceHandler = new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null, null);
         return serviceHandler.serviceCreate(buildInput.setServiceAEnd(serviceAEndBuilder.build()).build()).get()
                 .getResult();
     }
@@ -801,7 +806,7 @@ public class ServiceHandlerImplTest extends AbstractTest {
         rxDirectionBuilder.setLgx(lgx);
         serviceAEndBuilder.setRxDirection(rxDirectionBuilder.build());
         ServiceCreateInputBuilder buildInput = new ServiceCreateInputBuilder(serviceCreateInput);
-        this.serviceHandler = new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null);
+        this.serviceHandler = new ServicehandlerImpl(getDataBroker(), this.pathComputationService, null, null);
         return serviceHandler.serviceCreate(buildInput.setServiceAEnd(serviceAEndBuilder.build()).build()).get()
                 .getResult();
     }
index a19eec6d4015660f0cd98e0aaa0a5e891872d328..8a9ae22275bb1c35818b2e346b873b127cf2b65e 100644 (file)
@@ -16,6 +16,7 @@ import org.opendaylight.transportpce.common.OperationResult;
 import org.opendaylight.transportpce.pce.service.PathComputationService;
 import org.opendaylight.transportpce.pce.service.PathComputationServiceImpl;
 import org.opendaylight.transportpce.pce.utils.NotificationPublishServiceMock;
+import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService;
 import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations;
 import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerImpl;
 import org.opendaylight.transportpce.servicehandler.stub.StubRendererServiceOperations;
@@ -32,15 +33,17 @@ public class ServiceDataStoreOperationsImplTest extends AbstractTest {
     private PCEServiceWrapper pceServiceWrapper;
     private ServicehandlerImpl serviceHandler;
     private RendererServiceOperations rendererServiceOperations;
+    private NetworkModelWavelengthService networkModelWavelengthService;
 
     public ServiceDataStoreOperationsImplTest() {
         NotificationPublishService notificationPublishService = new NotificationPublishServiceMock();
         PathComputationService pathComputationService = new PathComputationServiceImpl(getDataBroker(),
             notificationPublishService);
         this.pceServiceWrapper = new PCEServiceWrapper(pathComputationService);
-        this.rendererServiceOperations = new StubRendererServiceOperations();
+        this.rendererServiceOperations =
+                new StubRendererServiceOperations(this.networkModelWavelengthService, getDataBroker());
         this.serviceHandler = new ServicehandlerImpl(getDataBroker(), pathComputationService,
-            this.rendererServiceOperations);
+                this.rendererServiceOperations, this.networkModelWavelengthService);
     }
 
 
index 4a19db109840b90434c1f3f0d7fcecd043c9cbb3..ca863a3c22e0e181521544c1e19595d86e247c0c 100644 (file)
@@ -1,8 +1,8 @@
 diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerImpl.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerImpl.java
-index 44ef53a..810f093 100644
+index 3a07abb..f79862d 100644
 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerImpl.java
 +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerImpl.java
-@@ -25,6 +25,7 @@ import org.opendaylight.transportpce.servicehandler.ServiceInput;
+@@ -26,6 +26,7 @@ import org.opendaylight.transportpce.servicehandler.ServiceInput;
  import org.opendaylight.transportpce.servicehandler.service.PCEServiceWrapper;
  import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations;
  import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperationsImpl;
@@ -10,55 +10,21 @@ index 44ef53a..810f093 100644
  import org.opendaylight.transportpce.servicehandler.validation.ServiceCreateValidation;
  import org.opendaylight.transportpce.servicehandler.validation.checks.ComplianceCheckResult;
  import org.opendaylight.transportpce.servicehandler.validation.checks.ServicehandlerCompliancyCheck;
-@@ -87,6 +88,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
+@@ -87,7 +88,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
      private DataBroker db;
      private ServiceDataStoreOperations serviceDataStoreOperations;
-     private RendererServiceOperations rendererServiceOperations;
-+    private StubRendererServiceOperations stubRendererServiceOperations;
+-    private RendererServiceOperations rendererServiceOperations;
++    private StubRendererServiceOperations rendererServiceOperations;
      private PCEServiceWrapper pceServiceWrapper;
  
      //TODO: remove private request fields as they are in global scope
-@@ -95,6 +97,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
-                               RendererServiceOperations rendererServiceOperations) {
+@@ -96,7 +97,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
+             RendererServiceOperations rendererServiceOperations,
+             NetworkModelWavelengthService networkModelWavelengthService) {
          this.db = databroker;
-         this.rendererServiceOperations = rendererServiceOperations;
-+        this.stubRendererServiceOperations = new StubRendererServiceOperations();
+-        this.rendererServiceOperations = rendererServiceOperations;
++        this.rendererServiceOperations = new StubRendererServiceOperations(networkModelWavelengthService, db);
          this.serviceDataStoreOperations = new ServiceDataStoreOperationsImpl(this.db);
          this.serviceDataStoreOperations.initialize();
          this.pceServiceWrapper = new PCEServiceWrapper(pathComputationService);
-@@ -145,7 +148,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
-         ServiceImplementationRequestInput serviceImplementationRequest =
-                 ModelMappingUtils.createServiceImplementationRequest(new ServiceInput(input), pceResponse);
--        ServiceImplementationRequestOutput serviceImplementationRequestOutput = this.rendererServiceOperations
-+        ServiceImplementationRequestOutput serviceImplementationRequestOutput = this.stubRendererServiceOperations
-             .serviceImplementation(serviceImplementationRequest);
-         if (ResponseCodes.RESPONSE_OK
-                 .equals(serviceImplementationRequestOutput.getConfigurationResponseCommon().getResponseCode())) {
-@@ -221,7 +224,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
-             .ServiceDeleteInput serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(
-                     new ServiceInput(input));
-         org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017
--            .ServiceDeleteOutput output = this.rendererServiceOperations.serviceDelete(serviceDeleteInput);
-+            .ServiceDeleteOutput output = this.stubRendererServiceOperations.serviceDelete(serviceDeleteInput);
-         if (!ResponseCodes.RESPONSE_OK
-                 .equals(output.getConfigurationResponseCommon().getResponseCode())) {
-@@ -406,7 +409,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
-             .ServiceDeleteInput serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(
-                     new ServiceInput(input));
-         org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev171017
--            .ServiceDeleteOutput output = this.rendererServiceOperations.serviceDelete(serviceDeleteInput);
-+            .ServiceDeleteOutput output = this.stubRendererServiceOperations.serviceDelete(serviceDeleteInput);
-         if (!ResponseCodes.RESPONSE_OK
-                 .equals(output.getConfigurationResponseCommon().getResponseCode())) {
-@@ -476,7 +479,7 @@ public class ServicehandlerImpl implements OrgOpenroadmServiceService {
-         ServiceImplementationRequestInput serviceImplementationRequest =
-                 ModelMappingUtils.createServiceImplementationRequest(new ServiceInput(input), pceResponse);
--        ServiceImplementationRequestOutput serviceImplementationRequestOutput = this.rendererServiceOperations
-+        ServiceImplementationRequestOutput serviceImplementationRequestOutput = this.stubRendererServiceOperations
-             .serviceImplementation(serviceImplementationRequest);
-         if (ResponseCodes.RESPONSE_OK
-                 .equals(serviceImplementationRequestOutput.getConfigurationResponseCommon().getResponseCode())) {