ONOS-7827 TAPI Phot. OpticalConnectivity intent.

Change-Id: I34bcc2a2bce4dbd6cca5c99f96e78cee0a53d690
diff --git a/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DcsBasedTapiConnectivityRpc.java b/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DcsBasedTapiConnectivityRpc.java
index 82c8ee2..d5f2962 100755
--- a/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DcsBasedTapiConnectivityRpc.java
+++ b/apps/odtn/service/src/main/java/org/onosproject/odtn/internal/DcsBasedTapiConnectivityRpc.java
@@ -65,6 +65,7 @@
         resolver = getService(TapiResolver.class);
     }
 
+
     /**
      * Service interface of createConnectivityService.
      *
@@ -89,19 +90,21 @@
             List<TapiNepRef> nepRefs = input.getSips().stream()
                     .map(sipId -> resolver.getNepRef(sipId))
                     .collect(Collectors.toList());
-            // for test
-//            Map<String, String> filter = new HashMap<>();
-//            filter.put(ODTN_PORT_TYPE, OdtnDeviceDescriptionDiscovery.OdtnPortType.CLIENT.value());
-//            List<TapiNepRef> nepRefs = resolver.getNepRefs(filter);
 
             // setup connections
             TapiNepPair neps = TapiNepPair.create(nepRefs.get(0), nepRefs.get(1));
-            DcsBasedTapiConnectionManager connectionManager = DcsBasedTapiConnectionManager.create();
-            connectionManager.createConnection(neps);
 
-            // setup connectivity service
+            // Allocate a connectivity Service
             TapiConnectivityServiceHandler connectivityServiceHandler = TapiConnectivityServiceHandler.create();
-            connectivityServiceHandler.addConnection(connectionManager.getConnectionHandler().getModelObject().uuid());
+
+            // This connectivity service will be supported over a single end-to-end connection
+            // Allocate a manager for that connection
+            DcsBasedTapiConnectionManager connectionManager = DcsBasedTapiConnectionManager.create();
+            TapiConnectionHandler connectionHandler = connectionManager.createConnection(neps);
+
+            // Add the supporting connection uuid to the service
+            connectivityServiceHandler.addConnection(connectionHandler.getModelObject().uuid());
+
             neps.stream()
                     .map(nepRef -> TapiSepHandler.create().setSip(nepRef.getSipId()))
                     .forEach(sepBuilder -> {
@@ -113,7 +116,9 @@
             connectivityServiceHandler.add();
 
             // output
-            TapiCreateConnectivityOutputHandler output = TapiCreateConnectivityOutputHandler.create()
+            TapiCreateConnectivityOutputHandler output =
+                TapiCreateConnectivityOutputHandler
+                    .create()
                     .addService(connectivityServiceHandler.getModelObject());
             return new RpcOutput(RpcOutput.Status.RPC_SUCCESS, output.getDataNode());
 
@@ -136,17 +141,20 @@
         try {
             TapiDeleteConnectivityInputHandler input = new TapiDeleteConnectivityInputHandler();
             input.setRpcInput(inputVar);
-            log.info("input serviceId: {}", input.getId());
+            log.info("deleteConnectivityService - serviceId: {}", input.getId());
 
+            // Retrieve the Connectivity Service from the DCS, based on Id
             TapiConnectivityServiceHandler serviceHandler = TapiConnectivityServiceHandler.create();
             serviceHandler.setId(input.getId());
-
             DefaultConnectivityService service = serviceHandler.read();
 
+            // For each top-most connection of the service handler, delete that connection
+            // using a manager
             service.connection().stream().forEach(connection -> {
                 TapiConnectionHandler connectionHandler = TapiConnectionHandler.create();
                 connectionHandler.setId(Uuid.fromString(connection.connectionUuid().toString()));
                 DcsBasedTapiConnectionManager manager = DcsBasedTapiConnectionManager.create();
+                log.info("deleteConnectivityService - connectionId: {}", connectionHandler.getId());
                 manager.deleteConnection(connectionHandler);
                 manager.apply();
             });