Merge dev/fluorine work across to master
[unimgr.git] / template-driver / src / main / java / org / opendaylight / unimgr / mef / nrp / template / driver / TemplateDriver.java
index 63e29845964c4f295efbdd91d823a750341f7c09..30a2d377dbb79fd4506d1231e62e895443d3faab 100644 (file)
@@ -8,25 +8,28 @@
 
 package org.opendaylight.unimgr.mef.nrp.template.driver;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
 import org.opendaylight.unimgr.mef.nrp.api.EndPoint;
 import org.opendaylight.unimgr.mef.nrp.common.ResourceActivatorException;
-import org.opendaylight.yang.gen.v1.urn.mef.yang.nrp_interface.rev170227.NrpCreateConnectivityServiceAttrs;
-import org.opendaylight.yang.gen.v1.urn.mef.yang.tapicommon.rev170227.UniversalId;
+import org.opendaylight.unimgr.mef.nrp.template.TemplateConstants;
+import org.opendaylight.yang.gen.v1.urn.mef.yang.nrp._interface.rev180321.NrpConnectivityServiceAttrs;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.List;
-import java.util.Optional;
-
 /**
- * Example driver builder
+ * Example driver builder.
  * @author bartosz.michalik@amartus.com
  */
 public class TemplateDriver implements ActivationDriverBuilder {
-    private static final Logger log = LoggerFactory.getLogger(TemplateDriver.class);
+    private static final Logger LOG = LoggerFactory.getLogger(TemplateDriver.class);
+
     @Override
     public Optional<ActivationDriver> driverFor(BuilderContext context) {
         // build a stateful driver
@@ -37,33 +40,42 @@ public class TemplateDriver implements ActivationDriverBuilder {
         // 3a. if activation/deactivation fails for any driver rollback is called
         return Optional.of(new ActivationDriver() {
 
+            public List<EndPoint> endpoints;
             public String serviceId;
 
             @Override
             public void commit() {
-                log.info("commit was triggered for {}", serviceId);
+                LOG.info("commit was triggered for {}", serviceId);
             }
 
             @Override
             public void rollback() {
-                log.info("rollback was triggered for {}", serviceId);
+                LOG.info("rollback was triggered for {}", serviceId);
             }
 
             @Override
-            public void initialize(List<EndPoint> endPoints, String serviceId, NrpCreateConnectivityServiceAttrs context) {
+            public void initialize(List<EndPoint> endPoints, String serviceId, NrpConnectivityServiceAttrs context) {
                 this.serviceId = serviceId;
+                this.endpoints = new ArrayList<>(endPoints);
+
+                LOG.info("Driver initialized with: " + epsInfo());
             }
 
             @Override
             public void activate() throws TransactionCommitFailedException, ResourceActivatorException {
                 // method can fail if you wish
-                log.info("activate was triggered for {}", serviceId);
+                LOG.info("activate was triggered for {}", serviceId);
             }
 
             @Override
             public void deactivate() throws TransactionCommitFailedException, ResourceActivatorException {
                 // method can fail if you wish
-                log.info("adectivate was triggered for {}", serviceId);
+                LOG.info("dectivate was triggered for {}", serviceId);
+            }
+
+            @Override
+            public void update() throws TransactionCommitFailedException, ResourceActivatorException {
+
             }
 
             @Override
@@ -72,11 +84,17 @@ public class TemplateDriver implements ActivationDriverBuilder {
 
                 return 0;
             }
+
+            private String epsInfo() {
+                return endpoints.stream().map(e -> e.getNepRef().getNodeId().getValue() + ":"
+                        + e.getNepRef().getOwnedNodeEdgePointId().getValue())
+                        .collect(Collectors.joining(",", "[", "]"));
+            }
         });
     }
 
     @Override
-    public UniversalId getNodeUuid() {
-        return null;
+    public String getActivationDriverId() {
+        return TemplateConstants.DRIVER_ID;
     }
 }