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.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
// 3a. if activation/deactivation fails for any driver rollback is called
return Optional.of(new ActivationDriver() {
+ public List<EndPoint> endpoints;
public String serviceId;
@Override
@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
@Override
public void update() throws TransactionCommitFailedException, ResourceActivatorException {
- LOG.info("update was triggered for {}", serviceId);
+
}
@Override
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;
}
}