Presto NRP migrated to new TAPI-based model. Common infrastructure refactored to...
[unimgr.git] / edgeassure-1000 / src / main / java / org / opendaylight / unimgr / mef / nrp / edgeassure / EdgeAssureDriverBuilder.java
index 2f88139bdeca1a1dd3b558a87edac2a242ece480..6a69db342bded060e0c005018ac55b88d56f8fc4 100644 (file)
@@ -10,12 +10,18 @@ package org.opendaylight.unimgr.mef.nrp.edgeassure;
 
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.MountPointService;
+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.FixedServiceNaming;
+import org.opendaylight.unimgr.mef.nrp.common.ResourceNotAvailableException;
+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.yang.gen.v1.urn.onf.core.network.module.rev160630.forwarding.constructs.ForwardingConstruct;
 import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 
+import java.util.List;
 import java.util.Optional;
 
 /**
@@ -33,11 +39,10 @@ public class EdgeAssureDriverBuilder implements ActivationDriverBuilder {
     }
 
     @Override
-    public Optional<ActivationDriver> driverFor(FcPort port, BuilderContext context) {
+    public Optional<ActivationDriver> driverFor(BuilderContext context) {
         final ActivationDriver driver = new ActivationDriver() {
-            public ForwardingConstruct ctx;
-            public FcPort aEnd;
-            public FcPort zEnd;
+            List<EndPoint> endPoints;
+            String serviceId;
 
             @Override
             public void commit() {
@@ -50,33 +55,19 @@ public class EdgeAssureDriverBuilder implements ActivationDriverBuilder {
             }
 
             @Override
-            public void initialize(FcPort from, FcPort to, ForwardingConstruct ctx) {
-                this.zEnd = to;
-                this.aEnd = from;
-                this.ctx = ctx;
+            public void initialize(List<EndPoint> endPoints, String serviceId, NrpCreateConnectivityServiceAttrs context) {
+                this.endPoints = endPoints;
+                this.serviceId = serviceId;
             }
 
             @Override
-            public void activate() {
-                String id = ctx.getUuid();
-                long mtu = 1500;
-                String outerName = namingProvider.getOuterName(id);
-                String innerName = namingProvider.getInnerName(id);
-
-                String aEndNodeName = aEnd.getNode().getValue();
-                edgeAssureActivator.activate(aEndNodeName, outerName, innerName, aEnd, zEnd, mtu);
-
+            public void activate() throws TransactionCommitFailedException, ResourceNotAvailableException {
+                edgeAssureActivator.activate(endPoints,serviceId);
             }
 
             @Override
-            public void deactivate() {
-                String id = ctx.getUuid();
-                long mtu = 1500;
-                String outerName = namingProvider.getOuterName(id);
-                String innerName = namingProvider.getInnerName(id);
-
-                String aEndNodeName = aEnd.getNode().getValue();
-                edgeAssureActivator.deactivate(aEndNodeName, outerName, innerName, aEnd, zEnd, mtu);
+            public void deactivate() throws ResourceNotAvailableException, TransactionCommitFailedException {
+                edgeAssureActivator.deactivate(endPoints,serviceId);
             }
 
             @Override
@@ -86,10 +77,11 @@ public class EdgeAssureDriverBuilder implements ActivationDriverBuilder {
         };
 
         return Optional.of(driver);
+
     }
 
     @Override
-    public Optional<ActivationDriver> driverFor(FcPort aPort, FcPort zPort, BuilderContext context) {
-        return Optional.empty();
+    public UniversalId getNodeUuid() {
+        return null;
     }
 }