import org.opendaylight.transportpce.common.fixedflex.GridUtils;
import org.opendaylight.transportpce.common.network.NetworkTransactionService;
import org.opendaylight.transportpce.networkmodel.dto.TopologyShard;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.mapping.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.network.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.mapping.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.network.Nodes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State;
}
public static TopologyShard createTopologyShard(Nodes mappingNode) {
+ return createTopologyShard(mappingNode, true);
+ }
+
+ public static TopologyShard createTopologyShard(Nodes mappingNode, boolean firstMount) {
int numOfDegrees;
int numOfSrgs;
List<Node> nodes = new ArrayList<>();
}
}
for (String str : nodeShardList) {
- List<Mapping> interList = mappingList.stream().filter(x -> x.getLogicalConnectionPoint().contains(str))
- .collect(Collectors.toList());
+ List<Mapping> interList = mappingList.stream().filter(x -> x.getLogicalConnectionPoint()
+ .split("-")[0].equals(str)).collect(Collectors.toList());
if (str.contains("DEG")) {
mapDeg.put(str, interList);
} else if (str.contains("SRG")) {
// create degree nodes
for (Map.Entry<String, List<Mapping>> entry : mapDeg.entrySet()) {
NodeBuilder ietfNode = createDegree(entry.getKey(), entry.getValue(), mappingNode.getNodeId(),
- mappingNode.getNodeInfo().getNodeClli());
+ mappingNode.getNodeInfo().getNodeClli(), firstMount);
nodes.add(ietfNode.build());
}
// create srg nodes
for (Map.Entry<String, List<Mapping>> entry : mapSrg.entrySet()) {
NodeBuilder ietfNode = createSrg(entry.getKey(), entry.getValue(), mappingNode.getNodeId(),
- mappingNode.getNodeInfo().getNodeClli());
+ mappingNode.getNodeInfo().getNodeClli(), firstMount);
nodes.add(ietfNode.build());
}
.setOperationalState(TopologyUtils.setNetworkOperState(m.getPortOperState()));
if (m.getPortQual().equals("xpdr-network")) {
ocnTp1Bldr.setTpType(OpenroadmTpType.XPONDERNETWORK);
- org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.TerminationPoint1 tpceTp1 =
- new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.TerminationPoint1Builder()
+ org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.TerminationPoint1 tpceTp1 =
+ new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.TerminationPoint1Builder()
.setAssociatedConnectionMapPort(m.getConnectionMapLcp()).build();
ietfTpBldr
.addAugmentation(ocnTp1Bldr.build())
tpMap.put(ietfTp.key(),ietfTp);
} else if (m.getPortQual().equals("xpdr-client")) {
ocnTp1Bldr.setTpType(OpenroadmTpType.XPONDERCLIENT);
- org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.TerminationPoint1 tpceTp1 =
- new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.TerminationPoint1Builder()
+ org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.TerminationPoint1 tpceTp1 =
+ new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.TerminationPoint1Builder()
.setAssociatedConnectionMapPort(m.getConnectionMapLcp()).build();
ietfTpBldr
.addAugmentation(ocnTp1Bldr.build())
return ietfNodeBldr;
}
- private static NodeBuilder createDegree(String degNb, List<Mapping> degListMap, String nodeId, String clli) {
+ private static NodeBuilder createDegree(String degNb, List<Mapping> degListMap, String nodeId, String clli,
+ boolean firstMount) {
// Create tp-list
Map<TerminationPointKey,TerminationPoint> tpMap = new HashMap<>();
TerminationPointBuilder ietfTpBldr;
TerminationPoint ietfTp = ietfTpBldr.build();
tpMap.put(ietfTp.key(),ietfTp);
// set degree-attributes
- DegreeAttributes degAtt = new DegreeAttributesBuilder()
- .setDegreeNumber(Uint16.valueOf(degNb.split("DEG")[1]))
- .setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available())
- .build();
+ DegreeAttributesBuilder degAttBldr = new DegreeAttributesBuilder()
+ .setDegreeNumber(Uint16.valueOf(degNb.split("DEG")[1]));
+ if (firstMount) {
+ degAttBldr.setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available());
+ }
+ DegreeAttributes degAtt = degAttBldr.build();
// Create ietf node augmentation to support ietf tp-list
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder
ietfNode1 = new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
.addAugmentation(ietfNode1.build());
}
- private static NodeBuilder createSrg(String srgNb, List<Mapping> srgListMap, String nodeId, String clli) {
+ private static NodeBuilder createSrg(String srgNb, List<Mapping> srgListMap, String nodeId, String clli,
+ boolean firstMount) {
// Create tp-list
Map<TerminationPointKey,TerminationPoint> tpMap = new HashMap<>();
TerminationPointBuilder ietfTpBldr;
.setOperationalState(State.InService)
.build();
// set srg-attributes
- SrgAttributes srgAttr = new SrgAttributesBuilder()
- .setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()).build();
+ SrgAttributesBuilder srgAttrBldr = new SrgAttributesBuilder();
+ if (firstMount) {
+ srgAttrBldr.setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available());
+ }
+ SrgAttributes srgAttr = srgAttrBldr.build();
Node1 ontNode1 = new Node1Builder().setSrgAttributes(srgAttr).build();
// Create ietf node augmentation to support ietf tp-list
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder