X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2FNetworkModelWavelengthServiceImpl.java;h=fdafa24f52cb8a184a2c0d0a8267b537cd988926;hb=791363064da49cc631aae713ec1cd86db98c4fde;hp=330b6531d7821d3a5a7465fd3e2eb588f1ad301f;hpb=869d6c3def408c3d984617a2dd4bada049db94a1;p=transportpce.git diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java index 330b6531d..fdafa24f5 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java @@ -7,19 +7,18 @@ */ package org.opendaylight.transportpce.renderer; -import com.google.common.base.Optional; - import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.stream.Collectors; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; -import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.binding.api.WriteTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.NetworkUtils; import org.opendaylight.transportpce.common.Timeouts; import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl; @@ -165,12 +164,12 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength InstanceIdentifier nodeIID = createNode1IID(nodeId); Optional nodeOpt; - try (ReadOnlyTransaction nodeReadTx = this.dataBroker.newReadOnlyTransaction()) { + try (ReadTransaction nodeReadTx = this.dataBroker.newReadOnlyTransaction()) { nodeOpt = nodeReadTx.read(LogicalDatastoreType.CONFIGURATION, nodeIID) .get(Timeouts.DATASTORE_READ, TimeUnit.MILLISECONDS); } catch (InterruptedException | ExecutionException | TimeoutException e) { LOG.warn("Exception while getting node from {} topology!", NetworkUtils.OVERLAY_NETWORK_ID, e); - nodeOpt = Optional.absent(); + nodeOpt = Optional.empty(); } return nodeOpt; } @@ -191,7 +190,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength Node1Builder node1Builder = new Node1Builder(node); - switch (node.getNodeType()) { + switch (node1Builder.getNodeType()) { case DEGREE: DegreeAttributes degreeAttributes = node.getDegreeAttributes(); DegreeAttributesBuilder degreeAttributesBuilder; @@ -233,10 +232,10 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength // TODO skip for now continue; } - nodeWriteTx.put(LogicalDatastoreType.CONFIGURATION, createNode1IID(nodeId), node1Builder.build(), true); + nodeWriteTx.put(LogicalDatastoreType.CONFIGURATION, createNode1IID(nodeId), node1Builder.build()); } try { - nodeWriteTx.submit().get(Timeouts.DATASTORE_DELETE, TimeUnit.MILLISECONDS); + nodeWriteTx.commit().get(Timeouts.DATASTORE_DELETE, TimeUnit.MILLISECONDS); } catch (InterruptedException | ExecutionException | TimeoutException e) { LOG.error("Unable to add available WL {} for nodes {}!", wavelengthNumber, String.join(", ", nodeIds), e); } @@ -250,8 +249,9 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength if (nodeOpt.isPresent()) { node = nodeOpt.get(); } else { - LOG.error("Unable to get node {} from topology {}! Skipping addition of available wavelength for this" - + "node.", nodeId, NetworkUtils.OVERLAY_NETWORK_ID); + LOG.error( + "Unable to get node {} from topology {}! Skipping addition of available wavelength for this node.", + nodeId, NetworkUtils.OVERLAY_NETWORK_ID); continue; } @@ -284,7 +284,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength nodeWriteTx.delete(LogicalDatastoreType.CONFIGURATION, availableWlIID); } try { - nodeWriteTx.submit().get(Timeouts.DATASTORE_DELETE, TimeUnit.MILLISECONDS); + nodeWriteTx.commit().get(Timeouts.DATASTORE_DELETE, TimeUnit.MILLISECONDS); } catch (InterruptedException | ExecutionException | TimeoutException e) { LOG.error("Unable to delete available WL {} for nodes {}!", wavelengthNumber, String.join(", ", nodeIds), e); @@ -305,13 +305,13 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength private Optional getTerminationPoint1FromDatastore(String nodeId, String tpId) { InstanceIdentifier tpIID = createTerminationPoint1IIDBuilder(nodeId, tpId).build(); Optional tpOpt; - try (ReadOnlyTransaction readTx = this.dataBroker.newReadOnlyTransaction()) { + try (ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction()) { tpOpt = readTx.read(LogicalDatastoreType.CONFIGURATION, tpIID) .get(Timeouts.DATASTORE_READ, TimeUnit.MILLISECONDS); } catch (InterruptedException | ExecutionException | TimeoutException e) { LOG.warn("Exception while getting termination point from {} topology!", NetworkUtils.OVERLAY_NETWORK_ID, e); - tpOpt = Optional.absent(); + tpOpt = Optional.empty(); } return tpOpt; } @@ -385,7 +385,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength deleteUsedWlTx.delete(LogicalDatastoreType.CONFIGURATION, usedWlIID); } try { - deleteUsedWlTx.submit().get(Timeouts.DATASTORE_DELETE, TimeUnit.MILLISECONDS); + deleteUsedWlTx.commit().get(Timeouts.DATASTORE_DELETE, TimeUnit.MILLISECONDS); } catch (InterruptedException | ExecutionException | TimeoutException e) { List tpIdsString = tpIds.stream().map(NodeIdPair::toString).collect(Collectors.toList()); LOG.error("Unable to delete used WL {} from TPs {}!", wavelengthIndex, String.join(", ", tpIdsString), e); @@ -394,11 +394,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength private void addUsedWL(long wavelengthIndex, List tpIds) { WriteTransaction addUsedWlTx = this.dataBroker.newWriteOnlyTransaction(); - FixedFlexImpl fixedFlex = new FixedFlexImpl(); - fixedFlex.getFixedFlexWaveMapping(wavelengthIndex); - FrequencyGHz frequencyGHz = new FrequencyGHz(new BigDecimal(fixedFlex.getWavelength())); - FrequencyTHz frequencyTHz = new FrequencyTHz(new BigDecimal(fixedFlex.getCenterFrequency())); - + FixedFlexImpl fixedFlex = new FixedFlexImpl(wavelengthIndex); + FrequencyTHz centralTHz = new FrequencyTHz(new BigDecimal(fixedFlex.getCenterFrequency())); for (NodeIdPair idPair : tpIds) { Optional tpOpt = getTerminationPoint1FromDatastore(idPair.getNodeID(), idPair.getTpID()); @@ -406,8 +403,9 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength if (tpOpt.isPresent()) { tp = tpOpt.get(); } else { - LOG.error("Unable to get termination point {} from topology {}! Skipping removal of used wavelength" - + " for this node.", idPair.getTpID(), NetworkUtils.OVERLAY_NETWORK_ID); + LOG.error( + "Unable to get termination point {} from topology {}! Skip removal of used wavelength for the node", + idPair.getTpID(), NetworkUtils.OVERLAY_NETWORK_ID); continue; } @@ -428,7 +426,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength usedDegreeTxTtpWls = new ArrayList<>(); txTtpAttributesBuilder.setUsedWavelengths(usedDegreeTxTtpWls); } - usedDegreeTxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex).build()); + usedDegreeTxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex) + .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build()); tp1Builder.setTxTtpAttributes(txTtpAttributesBuilder.build()); break; @@ -445,7 +444,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength usedDegreeRxTtpWls = new ArrayList<>(); rxTtpAttributesBuilder.setUsedWavelengths(usedDegreeRxTtpWls); } - usedDegreeRxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex).build()); + usedDegreeRxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex) + .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build()); tp1Builder.setRxTtpAttributes(rxTtpAttributesBuilder.build()); break; @@ -464,7 +464,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength usedDegreeCtpWls = new ArrayList<>(); ctpAttributesBuilder.setUsedWavelengths(usedDegreeCtpWls); } - usedDegreeCtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex).build()); + usedDegreeCtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex) + .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build()); tp1Builder.setCtpAttributes(ctpAttributesBuilder.build()); break; @@ -487,7 +488,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength } usedDegreeCpWls.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130 .networks.network.node.termination.point.cp.attributes.UsedWavelengthsBuilder() - .setIndex(wavelengthIndex).build()); + .setIndex(wavelengthIndex) + .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build()); tp1Builder.setCpAttributes(cpAttributesBuilder.build()); break; @@ -506,7 +508,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength usedDegreePpWls = new ArrayList<>(); ppAttributesBuilder.setUsedWavelength(usedDegreePpWls); } - usedDegreePpWls.add(new UsedWavelengthBuilder().setIndex(wavelengthIndex).build()); + usedDegreePpWls.add(new UsedWavelengthBuilder().setIndex(wavelengthIndex) + .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build()); tp1Builder.setPpAttributes(ppAttributesBuilder.build()); break; @@ -518,25 +521,12 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength } else { xpdrNetworkAttributesBuilder = new XpdrNetworkAttributesBuilder(xpdrNetworkAttributes); } - Wavelength usedXpdrNetworkWl = new WavelengthBuilder().setWidth(frequencyGHz) - .setFrequency(frequencyTHz).build(); - tp1Builder.setXpdrNetworkAttributes(xpdrNetworkAttributesBuilder - .setWavelength(usedXpdrNetworkWl) - .build()); + Wavelength usedXpdrNetworkWl = new WavelengthBuilder() + .setWidth(FrequencyGHz.getDefaultInstance("40")).setFrequency(centralTHz).build(); + tp1Builder.setXpdrNetworkAttributes(xpdrNetworkAttributesBuilder.setWavelength(usedXpdrNetworkWl) + .build()); break; case XPONDERCLIENT: -// XpdrClientAttributes xpdrClientAttributes = tp.getXpdrClientAttributes(); -// XpdrClientAttributesBuilder xpdrClientAttributesBuilder; -// if (xpdrClientAttributes == null) { -// xpdrClientAttributesBuilder = new XpdrClientAttributesBuilder(); -// } else { -// xpdrClientAttributesBuilder = new XpdrClientAttributesBuilder(xpdrClientAttributes); -// } -// Wavelength usedXpdrClientWl = new WavelengthBuilder().setWidth(frequencyGHz) -// .setFrequency(frequencyTHz).build(); -// tp1Builder.setXpdrClientAttributes(xpdrClientAttributesBuilder -// .setWavelength(usedXpdrClientWl) -// .build()); break; case XPONDERPORT: XpdrPortAttributes xpdrPortAttributes = tp.getXpdrPortAttributes(); @@ -546,11 +536,10 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength } else { xpdrPortAttributesBuilder = new XpdrPortAttributesBuilder(xpdrPortAttributes); } - Wavelength usedXpdrPortWl = new WavelengthBuilder().setWidth(frequencyGHz) - .setFrequency(frequencyTHz).build(); - tp1Builder.setXpdrPortAttributes(xpdrPortAttributesBuilder - .setWavelength(usedXpdrPortWl) - .build()); + Wavelength usedXpdrPortWl = new WavelengthBuilder().setWidth(FrequencyGHz.getDefaultInstance("40")) + .setFrequency(centralTHz).build(); + tp1Builder.setXpdrPortAttributes(xpdrPortAttributesBuilder.setWavelength(usedXpdrPortWl) + .build()); break; default: @@ -558,10 +547,10 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength continue; } addUsedWlTx.put(LogicalDatastoreType.CONFIGURATION, createTerminationPoint1IIDBuilder(idPair.getNodeID(), - idPair.getTpID()).build(), tp1Builder.build(), true); + idPair.getTpID()).build(), tp1Builder.build()); } try { - addUsedWlTx.submit().get(Timeouts.DATASTORE_WRITE, TimeUnit.MILLISECONDS); + addUsedWlTx.commit().get(Timeouts.DATASTORE_WRITE, TimeUnit.MILLISECONDS); } catch (InterruptedException | ExecutionException | TimeoutException e) { List tpIdsString = tpIds.stream().map(NodeIdPair::toString).collect(Collectors.toList()); LOG.error("Unable to add used WL {} for TPs {}!", wavelengthIndex, String.join(", ", tpIdsString), e);