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
// 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
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;
}
}