import java.util.Collection;
import java.util.List;
import java.util.Set;
-import java.util.concurrent.Future;
import java.util.stream.Collectors;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
-import org.opendaylight.yangtools.yang.common.RpcResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
alarmListener = new AlarmNotificationListener();
LOG.info("Registering notification listener on {} for node: {}", AlarmNotification.QNAME, nodeId);
// Register notification listener
- final ListenerRegistration<OrgOpenroadmAlarmListener>
- accessAlarmNotificationListenerRegistration =
- notificationService.get().registerNotificationListener(alarmListener);
+
final OrgOpenroadmDeOperationsListener deOperationsListener;
deOperationsListener = new DeOperationsListener();
LOG.info("Registering notification listener on OrgOpenroadmDeOperationsListener for node: {}", nodeId);
// Register notification listener
- final ListenerRegistration<OrgOpenroadmDeOperationsListener>
- accessDeOperationasNotificationListenerRegistration =
- notificationService.get().registerNotificationListener(deOperationsListener);
+
final OrgOpenroadmDeviceListener deviceListener;
deviceListener = new DeviceListener();
LOG.info("Registering notification listener on OrgOpenroadmDeviceListener for node: {}", nodeId);
// Register notification listener
- final ListenerRegistration<OrgOpenroadmDeviceListener>
- accessDeviceNotificationListenerRegistration = notificationService.get()
- .registerNotificationListener(deviceListener);
+
final OrgOpenroadmLldpListener lldpListener;
lldpListener = new LldpListener();
LOG.info("Registering notification listener on OrgOpenroadmLldpListener for node: {}", nodeId);
// Register notification listener
- final ListenerRegistration<OrgOpenroadmLldpListener> accessLldpNotificationListenerRegistration =
- notificationService.get().registerNotificationListener(lldpListener);
+
final OrgOpenroadmTcaListener tcaListener;
tcaListener = new TcaListener();
LOG.info("Registering notification listener on OrgOpenroadmTcaListener for node: {}", nodeId);
// Register notification listener
- final ListenerRegistration<OrgOpenroadmTcaListener> accessTcaNotificationListenerRegistration =
- notificationService.get().registerNotificationListener(tcaListener);
+
// Listening to NETCONF datastream
final String streamName = "NETCONF";
final CreateSubscriptionInputBuilder createSubscriptionInputBuilder = new CreateSubscriptionInputBuilder();
createSubscriptionInputBuilder.setStream(new StreamNameType(streamName));
LOG.info("Triggering notification stream {} for node {}", streamName, nodeId);
- final Future<RpcResult<Void>> subscription = rpcService.createSubscription(createSubscriptionInputBuilder
- .build());
+
}
public void close() {
/*
* TODO: check for required
* capabilities to listen for notifications
- * registerNotificationListener(rootNode.
- * getDataAfter(). getNodeId());
*/
+ registerNotificationListener(rootNode.getDataAfter(). getNodeId());
currentMountedDevice.add(nodeId);
new PortMapping(dataBroker, mountService, nodeId).createMappingData();
break;
public boolean postInterface(InterfaceBuilder ifBuilder) {
String intf2Post = ifBuilder.getName();
Interface intf2PostCheck = getInterface(intf2Post);
- if (intf2PostCheck != null) {
- if (intf2PostCheck.getAdministrativeState() == AdminStates.InService) {
- LOG.info("Interface with same name in service already exists on node " + nodeId);
- return true;
- }
+ if (intf2PostCheck != null && intf2PostCheck.getAdministrativeState() == AdminStates.InService) {
+ LOG.info("Interface with same name in service already exists on node " + nodeId);
+ return true;
}
+
// Post interface with its specific augmentation to the device
if (netconfNodeDataBroker != null) {
InstanceIdentifier<Interface> interfacesIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
* This method return the RoadmConnection subtree for a given connection
* number.
*
- * @param connectionNumber
- * Name of the cross connect.
- *
* @return Roadm connection subtree from the device.
*/
- public RoadmConnections getCrossConnect(String connectionNumber) {
- if (connectionNumber == null && this.connectionNumber != null) {
- connectionNumber = this.connectionNumber;
- }
- if (deviceDb != null) {
+ public RoadmConnections getCrossConnect() {
+
+ if (deviceDb != null && connectionNumber != null) {
ReadOnlyTransaction rtx = deviceDb.newReadOnlyTransaction();
Optional<RoadmConnections> roadmConnectionsObject;
try {
}
}
- /**
- * This method does a delete(edit-config) on roadm connection subtree for a
- * given connection number.
- *
- * @param connectionNumber
- * Name of the cross connect.
- * @return true/false based on status of operation.
- */
- public boolean deleteCrossConnect(String connectionNumber) {
- if (connectionNumber == null && this.connectionNumber != null) {
- connectionNumber = this.connectionNumber;
- }
- return deleteCrossConnect();
- }
/**
* This method does a delete(edit-config) on roadm connection subtree for a
public boolean deleteCrossConnect() {
//Check if cross connect exists before delete
- if (getCrossConnect(connectionNumber) == null) {
+ if (getCrossConnect() == null) {
LOG.info("Cross connect does not exist, halting delete");
return false;
}
}
}
- /**
- * This method does an edit-config on roadm connection subtree for a given
- * connection number in order to set power level for use by the optical
- * power control.
- *
- * @param mode
- * Optical control modelcan be off, power or gainLoss.
- * @param value
- * Power value in DBm.
- * @param connectionNumber
- * Name of the cross connect.
- * @return true/false based on status of operation.
- */
- public boolean setPowerLevel(OpticalControlMode mode, PowerDBm value, String connectionNumber) {
- if (connectionNumber == null && this.connectionNumber != null) {
- connectionNumber = this.connectionNumber;
- }
- return setPowerLevel(mode, value);
- }
+
/**
* This method does an edit-config on roadm connection subtree for a given
*/
public boolean setPowerLevel(OpticalControlMode mode, PowerDBm value) {
- RoadmConnections rdmConn = getCrossConnect(connectionNumber);
+ RoadmConnections rdmConn = getCrossConnect();
if (rdmConn != null) {
RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder(rdmConn);
rdmConnBldr.setOpticalControlMode(mode);
DataBroker netconfNodeDataBroker = PortMapping.getDeviceDataBroker(nodeId, mps);
String crossConnectName = srcTp + "-" + destTp + "-" + waveNumber;
CrossConnect roadmConnections = new CrossConnect(netconfNodeDataBroker);
- if (roadmConnections.postCrossConnect(waveNumber, srcTp, destTp) == true) {
+ if (roadmConnections.postCrossConnect(waveNumber, srcTp, destTp)) {
nodesProvisioned.add(nodeId);
roadmConnections.getConnectionPortTrail(nodeId, mps, waveNumber, srcTp, destTp);
} else {
LOG.error("Failed to delete {} ", srcTp + "-" + destTp + "-" + waveNumber);
}
// Deleting interface on source termination point
- if (new OpenRoadmInterfaces(db, mps, nodeId, srcTp)
- .deleteInterface(srcTp + "-" + waveNumber.toString()) == false) {
+ if (!new OpenRoadmInterfaces(db, mps, nodeId, srcTp)
+ .deleteInterface(srcTp + "-" + waveNumber.toString())) {
LOG.error("Failed to delete interface " + srcTp + "-" + waveNumber.toString());
}
// Deleting interface on destination termination point
- if (new OpenRoadmInterfaces(db, mps, nodeId, destTp)
- .deleteInterface(destTp + "-" + waveNumber.toString()) == false) {
+ if (!new OpenRoadmInterfaces(db, mps, nodeId, destTp)
+ .deleteInterface(destTp + "-" + waveNumber.toString())) {
LOG.error("Failed to delete interface " + destTp + "-" + waveNumber.toString());
}
} else {