X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2FNetworkModelWavelengthServiceImpl.java;h=4e654a745fee5f7321673a6bd67423f4d2e55e92;hb=c5fc25e73679127ad29a5196410f24b50dcc8f7d;hp=a975025040956445346d5bb1d37df469b55588a1;hpb=e64164ece5c0b8b283bc80dad34fc5f664082ca5;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 a97502504..4e654a745 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java @@ -8,6 +8,8 @@ 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.concurrent.ExecutionException; @@ -20,53 +22,56 @@ import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.transportpce.common.NetworkUtils; import org.opendaylight.transportpce.common.Timeouts; -import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.node.attributes.AvailableWavelengthsKey; -import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.used.wavelengths.UsedWavelengths; -import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.used.wavelengths.UsedWavelengthsBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.used.wavelengths.UsedWavelengthsKey; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.Node1Builder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.TerminationPoint1Builder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.DegreeAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.DegreeAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.SrgAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.SrgAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CpAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CtpAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.CtpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.PpAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.PpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.RxTtpAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.RxTtpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.TxTtpAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.TxTtpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrClientAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrClientAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrNetworkAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrNetworkAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrPortAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.XpdrPortAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.pp.attributes.UsedWavelength; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.pp.attributes.UsedWavelengthBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node.termination.point.pp.attributes.UsedWavelengthKey; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev170929.OpenroadmTpType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev170929.srg.node.attributes.AvailableWavelengthsBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev170929.xpdr.port.connection.attributes.Wavelength; -import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev170929.xpdr.port.connection.attributes.WavelengthBuilder; +import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyGHz; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyTHz; +import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengthsKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengths; +import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengthsBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengthsKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.DegreeAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.DegreeAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.SrgAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.SrgAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CpAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrClientAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrNetworkAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrNetworkAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelength; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelengthBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelengthKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.port.connection.attributes.Wavelength; +import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.port.connection.attributes.WavelengthBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.PathDescription; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.atoz.direction.AToZ; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ztoa.direction.ZToA; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.pce.resource.resource.resource.TerminationPoint; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.Network; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NetworkId; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NetworkKey; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NodeId; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.network.Node; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.network.NodeKey; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.TpId; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.network.node.TerminationPointKey; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder; import org.slf4j.Logger; @@ -150,11 +155,10 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength private InstanceIdentifier createNode1IID(String nodeId) { return InstanceIdentifier - .builder(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))) - .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608 - .network.Node.class, new NodeKey(new NodeId(nodeId))) - .augmentation(Node1.class) - .build(); + .builder(Networks.class).child(Network.class, new NetworkKey( + new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))) + .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network + .Node.class, new NodeKey(new NodeId(nodeId))).augmentation(Node1.class).build(); } private Optional getNode1FromDatastore(String nodeId) { @@ -187,7 +191,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; @@ -196,14 +200,14 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength } else { degreeAttributesBuilder = new DegreeAttributesBuilder(degreeAttributes); } - List availableDegreeWLs = degreeAttributesBuilder.getAvailableWavelengths(); if (availableDegreeWLs == null) { availableDegreeWLs = new ArrayList<>(); degreeAttributesBuilder.setAvailableWavelengths(availableDegreeWLs); } - availableDegreeWLs.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree + availableDegreeWLs.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree .node.attributes.AvailableWavelengthsBuilder().setIndex(wavelengthNumber).build()); node1Builder.setDegreeAttributes(degreeAttributesBuilder.build()); break; @@ -215,7 +219,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength } else { srgAttributesBuilder = new SrgAttributesBuilder(srgAttributes); } - List availableSrgWLs = srgAttributesBuilder.getAvailableWavelengths(); if (availableSrgWLs == null) { availableSrgWLs = new ArrayList<>(); @@ -246,29 +250,30 @@ 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; } - InstanceIdentifierBuilder nodeIIDBuilder = InstanceIdentifier - .builder(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))) - .child(Node.class, new NodeKey(new NodeId(nodeId))).augmentation(Node1.class); + InstanceIdentifierBuilder nodeIIDBuilder = InstanceIdentifier.builder(Networks.class) + .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))) + .child(Node.class, new NodeKey(new NodeId(nodeId))).augmentation(Node1.class); InstanceIdentifier availableWlIID; switch (node.getNodeType()) { case DEGREE: availableWlIID = nodeIIDBuilder.child(DegreeAttributes.class) - .child(org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev170929.degree.node + .child(org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node .attributes.AvailableWavelengths.class, new AvailableWavelengthsKey(wavelengthNumber)) .build(); break; case SRG: availableWlIID = nodeIIDBuilder.child(SrgAttributes.class) - .child(org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev170929.srg.node.attributes + .child(org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes .AvailableWavelengths.class, - new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev170929.srg.node + new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node .attributes.AvailableWavelengthsKey(wavelengthNumber)) .build(); break; @@ -289,13 +294,13 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength private InstanceIdentifierBuilder createTerminationPoint1IIDBuilder(String nodeId, String tpId) { return InstanceIdentifier - .builder(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))) - .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.network - .Node.class, new NodeKey(new NodeId(nodeId))).augmentation( - org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.Node1.class) - .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608 - .network.node.TerminationPoint.class, - new TerminationPointKey(new TpId(tpId))).augmentation(TerminationPoint1.class); + .builder(Networks.class).child(Network.class, new NetworkKey( + new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))).child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml + .ns.yang.ietf.network.rev180226.networks.network.Node.class, new NodeKey(new NodeId(nodeId))) + .augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226 + .Node1.class).child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology + .rev180226.networks.network.node.TerminationPoint.class, new TerminationPointKey(new TpId(tpId))) + .augmentation(TerminationPoint1.class); } private Optional getTerminationPoint1FromDatastore(String nodeId, String tpId) { @@ -351,11 +356,10 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength case SRGRXCP: case SRGTXRXCP: usedWlIID = usedWlIIDBuilder.child(CpAttributes.class).child(org.opendaylight.yang.gen.v1.http.org - .openroadm.network.topology.rev170929.network.node.termination.point.cp.attributes - .UsedWavelengths.class, - new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929.network.node - .termination.point.cp.attributes.UsedWavelengthsKey( - wavelengthIndex)).build(); + .openroadm.network.topology.rev181130.networks.network.node.termination.point.cp.attributes + .UsedWavelengths.class, new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology + .rev181130.networks.network.node.termination.point.cp.attributes + .UsedWavelengthsKey(wavelengthIndex)).build(); break; case SRGTXRXPP: @@ -391,6 +395,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength private void addUsedWL(long wavelengthIndex, List tpIds) { WriteTransaction addUsedWlTx = this.dataBroker.newWriteOnlyTransaction(); + FixedFlexImpl fixedFlex = new FixedFlexImpl(wavelengthIndex); + FrequencyTHz centralTHz = new FrequencyTHz(new BigDecimal(fixedFlex.getCenterFrequency())); for (NodeIdPair idPair : tpIds) { Optional tpOpt = getTerminationPoint1FromDatastore(idPair.getNodeID(), idPair.getTpID()); @@ -420,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; @@ -437,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; @@ -456,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; @@ -470,16 +479,17 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength } else { cpAttributesBuilder = new CpAttributesBuilder(cpAttributes); } - List usedDegreeCpWls = - cpAttributesBuilder.getUsedWavelengths(); + List usedDegreeCpWls = cpAttributesBuilder + .getUsedWavelengths(); if (usedDegreeCpWls == null) { usedDegreeCpWls = new ArrayList<>(); cpAttributesBuilder.setUsedWavelengths(usedDegreeCpWls); } - usedDegreeCpWls.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev170929 - .network.node.termination.point.cp.attributes.UsedWavelengthsBuilder() - .setIndex(wavelengthIndex).build()); + usedDegreeCpWls.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130 + .networks.network.node.termination.point.cp.attributes.UsedWavelengthsBuilder() + .setIndex(wavelengthIndex) + .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build()); tp1Builder.setCpAttributes(cpAttributesBuilder.build()); break; @@ -498,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; @@ -510,23 +521,12 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength } else { xpdrNetworkAttributesBuilder = new XpdrNetworkAttributesBuilder(xpdrNetworkAttributes); } - Wavelength usedXpdrNetworkWl = new WavelengthBuilder().setIndex(wavelengthIndex).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().setIndex(wavelengthIndex).build(); - tp1Builder.setXpdrClientAttributes(xpdrClientAttributesBuilder - .setWavelength(usedXpdrClientWl) - .build()); break; case XPONDERPORT: XpdrPortAttributes xpdrPortAttributes = tp.getXpdrPortAttributes(); @@ -536,10 +536,10 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength } else { xpdrPortAttributesBuilder = new XpdrPortAttributesBuilder(xpdrPortAttributes); } - Wavelength usedXpdrPortWl = new WavelengthBuilder().setIndex(wavelengthIndex).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: