- }
- // ports are uni Directional on a degree, therefore 4 termination points
- // Create PP-TX termination
- tempTpBldr = createTpBldr("SRG" + srgCounter + "-PP" + i + "-TX");
- tp1Bldr = new TerminationPoint1Builder();
- tp1Bldr.setTpType(OpenroadmTpType.SRGTXPP);
- tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
- tpList.add(tempTpBldr.build());
-
- // Create PP-RX termination
- tempTpBldr = createTpBldr("SRG" + srgCounter + "-PP" + i + "-RX");
- tp1Bldr = new TerminationPoint1Builder();
- tp1Bldr.setTpType(OpenroadmTpType.SRGRXPP);
- tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
- tpList.add(tempTpBldr.build());
-
- } else if (portDirectionEnum == 3) {
- // Ports are bi directional therefore 2 termination points
- // Create PP-TXRX termination
- tempTpBldr = createTpBldr("SRG" + srgCounter + "-PP" + i + "-TXRX");
- tp1Bldr = new TerminationPoint1Builder();
- tp1Bldr.setTpType(OpenroadmTpType.SRGTXRXPP);
- tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
- tpList.add(tempTpBldr.build());
- }
- }
-
- switch (portDirectionEnum) {
- case 1: // ports are uni Directional on a degree
- case 2:
- // Create CP-TX termination
- tempTpBldr = createTpBldr("SRG" + srgCounter + "-CP" + "-TX");
- tp1Bldr = new TerminationPoint1Builder();
- tp1Bldr.setTpType(OpenroadmTpType.SRGTXCP);
- tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
- tpList.add(tempTpBldr.build());
- // Create CP-RX termination
- tempTpBldr = createTpBldr("SRG" + srgCounter + "-CP" + "-RX");
- tp1Bldr = new TerminationPoint1Builder();
- tp1Bldr.setTpType(OpenroadmTpType.SRGRXCP);
- tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
- tpList.add(tempTpBldr.build());
- break;
- case 3:
- // Ports are bi directional therefore 2 termination points
- // Create CP-TXRX termination
- tempTpBldr = createTpBldr("SRG" + srgCounter + "-CP" + "-TXRX");
- tp1Bldr = new TerminationPoint1Builder();
- tp1Bldr.setTpType(OpenroadmTpType.SRGTXRXCP);
- tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
- tpList.add(tempTpBldr.build());
- break;
- default:
- LOG.error("No correponsding direction to the value: {}", portDirectionEnum);
- break;
- }
-
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder tpNode1 =
- new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder();
-
- tpNode1.setTerminationPoint(tpList);
-
- nodebldr.addAugmentation(
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
- tpNode1.build());
-
- return nodebldr;
- }
-
- /*
- * This method will return the TTP ports in the device for a given degree number to be used by the
- * node to create TTP and CTP termination point on the device
- */
- private List<ConnectionPorts> getDegreePorts(String deviceId, Integer degreeCounter) {
- List<ConnectionPorts> degreeConPorts = new ArrayList<>();
- LOG.info("Getting Connection ports for Degree Number {}", degreeCounter);
- InstanceIdentifier<Degree> deviceIID =
- InstanceIdentifier.create(OrgOpenroadmDevice.class).child(Degree.class, new DegreeKey(degreeCounter));
-
- Optional<Degree> ordmDegreeObject =
- deviceTransactionManager.getDataFromDevice(deviceId, LogicalDatastoreType.CONFIGURATION, deviceIID,
- Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
-
- if (ordmDegreeObject.isPresent()) {
- degreeConPorts.addAll(new ArrayList<>(ordmDegreeObject.get().getConnectionPorts()));
- } else {
- LOG.info("Device has {} degree", (degreeCounter - 1));
- return Collections.emptyList();
- }
- return degreeConPorts;
- }
-
- private int getMaxPp(String deviceId, Integer srgCounter) {
- int maxPpPorts;
- LOG.info("Getting max pp ports for Srg Number {}", srgCounter);
- InstanceIdentifier<SharedRiskGroup> deviceIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(SharedRiskGroup.class, new SharedRiskGroupKey(srgCounter));
- Optional<SharedRiskGroup> ordmSrgObject =
- deviceTransactionManager.getDataFromDevice(deviceId, LogicalDatastoreType.OPERATIONAL, deviceIID,
- Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
- if (ordmSrgObject.isPresent()) {
- if (ordmSrgObject.get().getMaxAddDropPorts() != null) {
- maxPpPorts = ordmSrgObject.get().getMaxAddDropPorts();
- } else {
- LOG.info("Max add drop ports absent");
- return -1;