Merge dev/fluorine work across to master
[unimgr.git] / template-driver / src / main / java / org / opendaylight / unimgr / mef / nrp / template / driver / TemplateDriver.java
index d0a9ba8201cf39f36f3cf8918c917d640b56611e..30a2d377dbb79fd4506d1231e62e895443d3faab 100644 (file)
@@ -8,8 +8,10 @@
 
 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;
@@ -17,17 +19,17 @@ 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.unimgr.mef.nrp.template.TemplateConstants;
-import org.opendaylight.yang.gen.v1.urn.mef.yang.nrp._interface.rev171221.NrpConnectivityServiceAttrs;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.Uuid;
+import org.opendaylight.yang.gen.v1.urn.mef.yang.nrp._interface.rev180321.NrpConnectivityServiceAttrs;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * 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);
+
     @Override
     public Optional<ActivationDriver> driverFor(BuilderContext context) {
         // build a stateful driver
@@ -38,6 +40,7 @@ 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
@@ -53,6 +56,9 @@ public class TemplateDriver implements ActivationDriverBuilder {
             @Override
             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
@@ -69,7 +75,7 @@ public class TemplateDriver implements ActivationDriverBuilder {
 
             @Override
             public void update() throws TransactionCommitFailedException, ResourceActivatorException {
-                LOG.info("update was triggered for {}", serviceId);
+
             }
 
             @Override
@@ -78,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 Uuid getNodeUuid() {
-        return new Uuid(TemplateConstants.DRIVER_ID);
+    public String getActivationDriverId() {
+        return TemplateConstants.DRIVER_ID;
     }
 }