*/
package org.opendaylight.transportpce.common.mapping;
+import java.util.List;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.McCapabilities;
+
public interface MappingUtils {
/*
supported by the device.
*/
String getOpenRoadmVersion(String nodeId);
+
+ /**
+ * Get list of mc capabilities for node with nodeId.
+ * @param nodeId String
+ * @return the list of McCapabilities for the node.
+ */
+ List<McCapabilities> getMcCapabilitiesForNode(String nodeId);
}
*/
package org.opendaylight.transportpce.common.mapping;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.Network;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.Nodes;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.NodesKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.McCapabilities;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
}
return null;
}
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.opendaylight.transportpce.common.mapping.MappingUtils#getMcCapabilitiesForNode(java.lang.String)
+ */
+ @Override
+ public List<McCapabilities> getMcCapabilitiesForNode(String nodeId) {
+ List<McCapabilities> mcCapabilities = new ArrayList<>();
+ InstanceIdentifier<Nodes> nodePortMappingIID = InstanceIdentifier.builder(Network.class)
+ .child(Nodes.class, new NodesKey(nodeId)).build();
+ try (ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction()) {
+ Optional<Nodes> nodePortMapObject = readTx.read(LogicalDatastoreType.CONFIGURATION, nodePortMappingIID)
+ .get();
+ if (nodePortMapObject.isPresent()) {
+ LOG.info("Found node {}", nodeId);
+ Nodes node = nodePortMapObject.get();
+ mcCapabilities.addAll(node.nonnullMcCapabilities().values());
+ }
+ } catch (ExecutionException e) {
+ LOG.error("Something went wrong while getting node {}", nodeId, e);
+ } catch (InterruptedException e) {
+ LOG.error("Request interrupted for node {} interrupted", nodeId, e);
+ Thread.currentThread().interrupt();
+ }
+ LOG.info("Capabilitities for node {}: {}", nodeId, mcCapabilities);
+ return mcCapabilities;
+ }
}
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.nio.charset.StandardCharsets;
import java.util.concurrent.ExecutionException;
-import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.transportpce.common.StringConstants;
-import org.opendaylight.transportpce.test.DataStoreContext;
-import org.opendaylight.transportpce.test.DataStoreContextImpl;
+import org.opendaylight.transportpce.test.AbstractTest;
+import org.opendaylight.transportpce.test.converter.DataObjectConverter;
+import org.opendaylight.transportpce.test.converter.JSONDataObjectConverter;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.Network;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.Nodes;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.NodesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.NodesKey;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfoBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-public class MappingUtilsImplTest {
+public class MappingUtilsImplTest extends AbstractTest {
+ private static final Logger LOG = LoggerFactory.getLogger(MappingUtilsImplTest.class);
+ private static MappingUtils mappingUtils;
- private DataBroker dataBroker = null;
-
- @Before
- public void setUp() {
- DataStoreContext dataStoreContext = new DataStoreContextImpl();
- dataBroker = dataStoreContext.getDataBroker();
+ @BeforeClass
+ public static void setUp() throws InterruptedException, ExecutionException, FileNotFoundException {
+ DataObjectConverter dataObjectConverter = JSONDataObjectConverter
+ .createWithDataStoreUtil(getDataStoreContextUtil());
+ try (Reader reader = new FileReader("src/test/resources/network.json", StandardCharsets.UTF_8)) {
+ NormalizedNode<? extends PathArgument, ?> normalizedNode = dataObjectConverter
+ .transformIntoNormalizedNode(reader).get();
+ Network network = (Network) getDataStoreContextUtil()
+ .getBindingDOMCodecServices().fromNormalizedNode(YangInstanceIdentifier
+ .of(Network.QNAME), normalizedNode).getValue();
+ WriteTransaction writeNetworkTransaction = getDataBroker().newWriteOnlyTransaction();
+ writeNetworkTransaction.put(LogicalDatastoreType.CONFIGURATION,
+ InstanceIdentifier.builder(Network.class).build(), network);
+ writeNetworkTransaction.commit().get();
+ } catch (IOException e) {
+ LOG.error("Cannot load network ", e);
+ fail("Cannot load network");
+ }
+ mappingUtils = new MappingUtilsImpl(getDataBroker());
}
@Test
public void getOpenRoadmVersionTest() throws ExecutionException, InterruptedException {
- final MappingUtils mappingUtils = new MappingUtilsImpl(dataBroker);
- final NodeInfo nodeInfo = new NodeInfoBuilder().setOpenroadmVersion(NodeInfo.OpenroadmVersion._121).build();
- final NodeInfo nodeInfo2 = new NodeInfoBuilder().setOpenroadmVersion(NodeInfo.OpenroadmVersion._221).build();
- Nodes nodes = new NodesBuilder().setNodeId("nodes").setNodeInfo(nodeInfo).build();
- Nodes nodes2 = new NodesBuilder().setNodeId("nodes2").setNodeInfo(nodeInfo2).build();
- Nodes nodes3 = new NodesBuilder().setNodeId("nodes3").build();
- InstanceIdentifier<Nodes> nodeIID = InstanceIdentifier.builder(Network.class).child(Nodes.class,
- new NodesKey("nodes")).build();
- InstanceIdentifier<Nodes> nodeIID2 = InstanceIdentifier.builder(Network.class).child(Nodes.class,
- new NodesKey("nodes2")).build();
- InstanceIdentifier<Nodes> nodeIID3 = InstanceIdentifier.builder(Network.class).child(Nodes.class,
- new NodesKey("nodes3")).build();
- WriteTransaction wr = dataBroker.newWriteOnlyTransaction();
-
- //Create a node version 1, a node version 2, and a node no version
- wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID, nodes);
- wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID2, nodes2);
- wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID3, nodes3);
- wr.commit().get();
- //Test the versions are returned OK
- assertEquals("NodeInfo with nodes as id should be 1.2.1 version",
+ assertEquals("NodeInfo with ROADM-C1 as id should be 1.2.1 version",
StringConstants.OPENROADM_DEVICE_VERSION_1_2_1,
- mappingUtils.getOpenRoadmVersion("nodes"));
- assertEquals("NodeInfo with nodes as id should be 2.2.1 version",
+ mappingUtils.getOpenRoadmVersion("ROADM-C1"));
+ assertEquals("NodeInfo with ROADM-A1 as id should be 2.2.1 version",
StringConstants.OPENROADM_DEVICE_VERSION_2_2_1,
- mappingUtils.getOpenRoadmVersion("nodes2"));
+ mappingUtils.getOpenRoadmVersion("ROADM-A1"));
assertNull("NodeInfo with nodes3 as id should not exist", mappingUtils.getOpenRoadmVersion("nodes3"));
}
+ @Test
+ public void getMcCapabilitiesForNodeTest() {
+ assertEquals("Mc capabilities list size should be 2", 2,
+ mappingUtils.getMcCapabilitiesForNode("ROADM-A1").size());
+ assertTrue("Mc capabilities list size should be empty",
+ mappingUtils.getMcCapabilitiesForNode("ROADM-A2").isEmpty());
+ }
+
}
--- /dev/null
+{
+ "transportpce-portmapping:network": {
+ "nodes": [
+ {
+ "node-id": "ROADM-A1",
+ "node-info": {
+ "node-type": "rdm",
+ "openroadm-version": "2.2.1",
+ "node-clli": "nodeA",
+ "node-vendor": "vendorA",
+ "node-model": "modelA",
+ "node-ip-address": "127.0.0.1"
+ },
+ "mapping": [],
+ "mc-capabilities": [
+ {
+ "mc-node-name": "DEG1-TTP",
+ "center-freq-granularity": 6.25,
+ "slot-width-granularity": 50
+ },
+ {
+ "mc-node-name": "SRG1-TTP",
+ "center-freq-granularity": 6.25,
+ "slot-width-granularity": 50
+ }
+ ]
+ },
+ {
+ "node-id": "ROADM-B1",
+ "node-info": {
+ "node-type": "rdm",
+ "openroadm-version": "2.2.1",
+ "node-clli": "nodeB",
+ "node-vendor": "vendorB",
+ "node-model": "modelB",
+ "node-ip-address": "127.0.0.2"
+ },
+ "mapping": [],
+ "mc-capabilities": [
+ {
+ "mc-node-name": "DEG1-TTP",
+ "center-freq-granularity": 6.25,
+ "slot-width-granularity": 12.5
+ },
+ {
+ "mc-node-name": "SRG1-TTP",
+ "center-freq-granularity": 6.25,
+ "slot-width-granularity": 12.5
+ }
+ ]
+ },
+ {
+ "node-id": "ROADM-C1",
+ "node-info": {
+ "node-type": "rdm",
+ "openroadm-version": "1.2.1",
+ "node-clli": "nodeC",
+ "node-vendor": "vendorC",
+ "node-model": "modelC",
+ "node-ip-address": "127.0.0.3"
+ },
+ "mapping": [],
+ "mc-capabilities": [
+ {
+ "mc-node-name": "DEG1-TTP",
+ "center-freq-granularity": 6.25,
+ "slot-width-granularity": 50
+ },
+ {
+ "mc-node-name": "SRG1-TTP",
+ "center-freq-granularity": 6.25,
+ "slot-width-granularity": 50
+ }
+ ]
+ }
+ ]
+ }
+}
\ No newline at end of file
Arrays.fill(freqMap, (byte) GridConstant.AVAILABLE_SLOT_VALUE);
BitSet result = BitSet.valueOf(freqMap);
boolean isFlexGrid = true;
- LOG.debug("Processing path {} with length {}", path, path.getLength());
+ LOG.info("Processing path {} with length {}", path, path.getLength());
BitSet pceNodeFreqMap;
for (PceGraphEdge edge : path.getEdgeList()) {
- LOG.debug("Processing source {} ", edge.link().getSourceId());
+ LOG.info("Processing source {} ", edge.link().getSourceId());
if (allPceNodes.containsKey(edge.link().getSourceId())) {
PceNode pceNode = allPceNodes.get(edge.link().getSourceId());
- if (StringConstants.OPENROADM_DEVICE_VERSION_1_2_1.equals(pceNode.getVersion())) {
- LOG.info("Node {} is 1.2.1 node", pceNode.getNodeId());
+ LOG.info("Processing PCE node {}", pceNode);
+ if (StringConstants.OPENROADM_DEVICE_VERSION_1_2_1.equals(pceNode.getVersion())
+ || pceNode.getSlotWidthGranularity().compareTo(GridConstant.SLOT_WIDTH_50) == 0) {
+ LOG.info("Node {}: version is {} and slot width granularity is {} -> fixed grid mode",
+ pceNode.getNodeId(), pceNode.getVersion(), pceNode.getSlotWidthGranularity());
isFlexGrid = false;
}
pceNodeFreqMap = pceNode.getBitSetData();
package org.opendaylight.transportpce.pce.networkanalyzer;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import org.opendaylight.transportpce.common.NetworkUtils;
import org.opendaylight.transportpce.common.ResponseCodes;
import org.opendaylight.transportpce.common.StringConstants;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
import org.opendaylight.transportpce.common.mapping.MappingUtils;
import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
import org.opendaylight.transportpce.common.network.NetworkTransactionService;
import org.opendaylight.transportpce.pce.constraints.PceConstraints;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.McCapabilities;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
deviceNodeId = node.getNodeId().getValue();
}
LOG.info("Device node id {} for {}", deviceNodeId, node);
- PceOpticalNode pceNode = new PceOpticalNode(node, nodeType, mappingUtils.getOpenRoadmVersion(deviceNodeId));
+ PceOpticalNode pceNode = new PceOpticalNode(node, nodeType, mappingUtils.getOpenRoadmVersion(deviceNodeId),
+ getSlotWidthGranularity(deviceNodeId, node.getNodeId()));
pceNode.validateAZxponder(anodeId, znodeId, input.getServiceAEnd().getServiceFormat());
pceNode.initFrequenciesBitSet();
pceNode.getOutgoingLinks());
}));
}
+
+ /**
+ * Get mc capability slot width granularity for device.
+ * @param deviceNodeId String
+ * @param nodeId NodeId
+ * @return slot width granularity
+ */
+ private BigDecimal getSlotWidthGranularity(String deviceNodeId, NodeId nodeId) {
+ // nodeId: openroadm-topology level node
+ // deviceNodeId: openroadm-network level node
+ List<McCapabilities> mcCapabilities = mappingUtils.getMcCapabilitiesForNode(deviceNodeId);
+ String[] params = nodeId.getValue().split("-");
+ // DEGX or SRGX
+ String rdmModuleName = params[params.length - 1];
+ for (McCapabilities mcCapabitility : mcCapabilities) {
+ if (mcCapabitility.getMcNodeName().contains(rdmModuleName)
+ && mcCapabitility.getSlotWidthGranularity() != null) {
+ return mcCapabitility.getSlotWidthGranularity().getValue();
+ }
+ }
+ return GridConstant.SLOT_WIDTH_50;
+ }
}
package org.opendaylight.transportpce.pce.networkanalyzer;
+import java.math.BigDecimal;
import java.util.BitSet;
import java.util.List;
import java.util.Map;
* @return BitSet.
*/
BitSet getBitSetData();
+
+ /**
+ * For optical node the slot width granularity from mc capabilities.
+ * @return BigDecimal.
+ */
+ BigDecimal getSlotWidthGranularity();
}
package org.opendaylight.transportpce.pce.networkanalyzer;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;
private final AvailFreqMapsKey freqMapKey = new AvailFreqMapsKey(GridConstant.C_BAND);
private BitSet frequenciesBitSet;
private String version;
+ private BigDecimal slotWidthGranularity;
- public PceOpticalNode(Node node, OpenroadmNodeType nodeType, String version) {
+ public PceOpticalNode(Node node, OpenroadmNodeType nodeType, String version, BigDecimal slotWidthGranularity) {
if (node != null
&& node.getNodeId() != null
&& nodeType != null
- && version != null) {
+ && version != null
+ && slotWidthGranularity != null) {
this.node = node;
this.nodeId = node.getNodeId();
this.nodeType = nodeType;
this.version = version;
+ this.slotWidthGranularity = slotWidthGranularity;
} else {
- LOG.error("PceNode: one of parameters is not populated : nodeId, node type");
+ LOG.error("PceNode: one of parameters is not populated : nodeId, node type, slot width granularity");
this.valid = false;
}
}
return this.version;
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.opendaylight.transportpce.pce.networkanalyzer.PceNode#getSlotWidthGranularity()
+ */
+ @Override
+ public BigDecimal getSlotWidthGranularity() {
+ return slotWidthGranularity;
+ }
+
}
package org.opendaylight.transportpce.pce.networkanalyzer;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.Comparator;
// TODO Auto-generated method stub
return null;
}
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.opendaylight.transportpce.pce.networkanalyzer.PceNode#getSlotWidthGranularity()
+ */
+ @Override
+ public BigDecimal getSlotWidthGranularity() {
+ return null;
+ }
}
import org.junit.Before;
import org.junit.Test;
import org.opendaylight.transportpce.common.StringConstants;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
import org.opendaylight.transportpce.common.network.NetworkTransactionImpl;
import org.opendaylight.transportpce.common.network.RequestProcessor;
import org.opendaylight.transportpce.pce.constraints.PceConstraints;
NodeBuilder node1Builder = NodeUtils.getNodeBuilder(NodeUtils.geSupportingNodes());
node = node1Builder.setNodeId(new NodeId("test")).build();
PceOpticalNode pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
PceOpticalNode pceOpticalNode2 = new PceOpticalNode(node,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode2);
pceLink.setClient("XPONDER-CLIENT");
@Test
public void getIncludePceNodesTest() {
Assert.assertTrue(pceConstraints.getIncludePceNodes().size() == 0);
- pceConstraints.setIncludePceNode(new PceOpticalNode(null, null, null));
+ pceConstraints.setIncludePceNode(new PceOpticalNode(null, null, null, null));
Assert.assertTrue(pceConstraints.getIncludePceNodes().size() == 1);
}
import org.junit.Before;
import org.junit.Test;
import org.opendaylight.transportpce.common.StringConstants;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
import org.opendaylight.transportpce.pce.networkanalyzer.PceLink;
import org.opendaylight.transportpce.pce.networkanalyzer.PceOpticalNode;
import org.opendaylight.transportpce.pce.utils.NodeUtils;
node = NodeUtils.getNodeBuilder(NodeUtils.geSupportingNodes()).build();
PceOpticalNode pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
PceOpticalNode pceOpticalNode2 = new PceOpticalNode(node,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode2);
pceLink.setClient("XPONDER-CLIENT");
import org.junit.Before;
import org.junit.Test;
import org.opendaylight.transportpce.common.StringConstants;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
import org.opendaylight.transportpce.pce.constraints.PceConstraints;
import org.opendaylight.transportpce.pce.networkanalyzer.PceLink;
import org.opendaylight.transportpce.pce.networkanalyzer.PceNode;
.setNodeId(nodeId).withKey(new NodeKey(nodeId))
.build();
pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.DEGREE, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.DEGREE, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
NodeId nodeId2 = new NodeId("OpenROADM-3-1-DEG1");
Node node2 = NodeUtils.getNodeBuilder(NodeUtils.geSupportingNodes())
.setNodeId(nodeId2).withKey(new NodeKey(nodeId2)).build();
pceOpticalNode2 = new PceOpticalNode(node2,
- OpenroadmNodeType.DEGREE, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.DEGREE, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode2);
pceLink.setClient("XPONDER-CLIENT");
import org.junit.Test;
import org.opendaylight.transportpce.common.NetworkUtils;
import org.opendaylight.transportpce.common.StringConstants;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
import org.opendaylight.transportpce.test.AbstractTest;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.RatioDB;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes());
Node node = node1Builder.setNodeId(new NodeId("test")).build();
PceOpticalNode pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode);
}
NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes());
Node node = node1Builder.setNodeId(new NodeId("test")).build();
PceOpticalNode pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode);
}
NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes());
Node node = node1Builder.setNodeId(new NodeId("test")).build();
PceOpticalNode pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode);
}
NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes());
Node node = node1Builder.setNodeId(new NodeId("test")).build();
PceOpticalNode pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode);
}
NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes());
Node node = node1Builder.setNodeId(new NodeId("test")).build();
PceOpticalNode pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode);
Assert.assertNotNull(MapUtils.getOmsAttributesSpan(link));
Assert.assertNotNull(pceLink.calcSpanOSNR());
@Test
public void isValidTest() {
OpenroadmNodeType nodeType = OpenroadmNodeType.ROADM;
- pceOpticalNode = new PceOpticalNode(node, nodeType, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ pceOpticalNode = new PceOpticalNode(node, nodeType, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1,
+ GridConstant.SLOT_WIDTH_50);
Assert.assertTrue(pceOpticalNode.isValid());
}
public void testInitSrgTps() {
pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initSrgTps();
pceOpticalNode.initXndrTps(ServiceFormat.OMS);
pceOpticalNode.initFrequenciesBitSet();
NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes(), OpenroadmTpType.XPONDERNETWORK);
Node specificNode = node1Builder.build();
pceOpticalNode = new PceOpticalNode(specificNode,
- OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initFrequenciesBitSet();
Assert.assertTrue(pceOpticalNode.isValid());
Assert.assertEquals(availableBitSet, pceOpticalNode.getBitSetData().get(88,96));
@Test
public void testInitXndrTpDegTypes() {
pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.DEGREE, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.DEGREE, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initFrequenciesBitSet();
Assert.assertTrue(pceOpticalNode.isValid());
Assert.assertEquals(usedBitSet,pceOpticalNode.getBitSetData().get(88,96));
@Test
public void testInitXndrTpXpondrTypes() {
pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.XPONDER, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.XPONDER, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initFrequenciesBitSet();
Assert.assertTrue(pceOpticalNode.isValid());
Assert.assertEquals(availableBitSet, pceOpticalNode.getBitSetData().get(88,96));
@Test
public void testinitFrequenciesBitSet() {
pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initXndrTps(ServiceFormat.OMS);
pceOpticalNode.initFrequenciesBitSet();
Assert.assertFalse(pceOpticalNode.isValid());
@Test
public void testGetRdmSrgClient() {
pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initSrgTps();
Assert.assertNull(pceOpticalNode.getRdmSrgClient("7"));
Assert.assertFalse(pceOpticalNode.isValid());
NodeBuilder node1Builder = getNodeBuilderEmpty(geSupportingNodes(), OpenroadmTpType.SRGTXRXPP);
Node specificNode = node1Builder.setNodeId(new NodeId("test")).build();
pceOpticalNode = new PceOpticalNode(specificNode,
- OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initSrgTps();
pceOpticalNode.initFrequenciesBitSet();
pceOpticalNode.initXndrTps(ServiceFormat.OMS);
@Test
public void testGetRdmSrgClientDeg() {
pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.DEGREE, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.DEGREE, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initSrgTps();
Assert.assertNull(pceOpticalNode.getRdmSrgClient("7"));
Assert.assertFalse(pceOpticalNode.isValid());
NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes(), OpenroadmTpType.SRGTXCP);
Node specificNode = node1Builder.build();
pceOpticalNode = new PceOpticalNode(specificNode,
- OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initSrgTps();
Assert.assertFalse(pceOpticalNode.isValid());
Assert.assertNull(pceOpticalNode.getBitSetData());
NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes(), OpenroadmTpType.DEGREERXTTP);
node = node1Builder.build();
pceOpticalNode = new PceOpticalNode(node,
- OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
+ OpenroadmNodeType.ROADM, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, GridConstant.SLOT_WIDTH_50);
pceOpticalNode.initSrgTps();
Assert.assertNull(pceOpticalNode.getRdmSrgClient("2"));
Assert.assertFalse(pceOpticalNode.isValid());