- public String createNMCInterface(String nodeId, String logicalConnPoint, Long waveNumber,
- int lowerSpectralSlotNumber, int higherSpectralSlotNumber)
- throws OpenRoadmInterfaceException {
-
- // TODO : Check this method
- fixedFlex = fixedFlex.getFixedFlexWaveMapping(waveNumber.shortValue());
-
- Mapping portMap = portMapping.getMapping(nodeId, logicalConnPoint);
- if (portMap == null) {
- throw new OpenRoadmInterfaceException(
- String.format(MAPPING_ERROR_EXCEPTION_MESSAGE, nodeId, logicalConnPoint));
- }
- String spectralSlotName = String.join(GridConstant.SPECTRAL_SLOT_SEPARATOR,
- String.valueOf(lowerSpectralSlotNumber),
- String.valueOf(higherSpectralSlotNumber));
- LOG.info("Freq Start {} and Freq End {} and center-Freq {}",
- fixedFlex.getStart(), fixedFlex.getStop(), fixedFlex.getCenterFrequency());
- //TODO : Check this method
- InterfaceBuilder nmcInterfaceBldr = createGenericInterfaceBuilder(portMap,
- NetworkMediaChannelConnectionTerminationPoint.class, String.join(GridConstant.NAME_PARAMETERS_SEPARATOR,
- logicalConnPoint, "nmc", spectralSlotName));
- if (logicalConnPoint.contains("DEG")) {
- nmcInterfaceBldr.setSupportingInterface(String.join(GridConstant.NAME_PARAMETERS_SEPARATOR,
- logicalConnPoint, "mc", spectralSlotName));
- }
-
- NmcCtpBuilder nmcCtpIfBuilder = new NmcCtpBuilder()
- .setFrequency(FrequencyTHz.getDefaultInstance(String.valueOf(fixedFlex.getCenterFrequency())))
- .setWidth(FrequencyGHz.getDefaultInstance("40"));
-
- // Create Interface1 type object required for adding as augmentation
- org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019.Interface1Builder
- nmcCtpI1fBuilder =
- new org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019
- .Interface1Builder().setNmcCtp(nmcCtpIfBuilder.build());
- nmcInterfaceBldr.addAugmentation(nmcCtpI1fBuilder.build());
-
- // Post interface on the device
- openRoadmInterfaces.postInterface(nodeId, nmcInterfaceBldr);
- return nmcInterfaceBldr.getName();
- }
-