+ ochInterfaceBldr.addAugmentation(ochIf1Builder.setOch(ocIfBuilder.build()).build());
+
+ // Post interface on the device
+ openRoadmInterfaces.postInterface(nodeId, ochInterfaceBldr);
+
+ // Post the equipment-state change on the device circuit-pack if xpdr node
+ if (portMap.getLogicalConnectionPoint().contains(StringConstants.NETWORK_TOKEN)) {
+ this.openRoadmInterfaces.postEquipmentState(nodeId, portMap.getSupportingCircuitPackName(), true);
+ }
+
+ return ochInterfaceBldr.getName();
+ }
+
+ public String createOpenRoadmOchInterface(String nodeId, String logicalConnPoint,
+ Long waveNumber, BigDecimal centerFrequency, BigDecimal slotWidth)
+ throws OpenRoadmInterfaceException {
+ // TODO : Check this method
+
+ // OCH interface specific data
+ OchBuilder ocIfBuilder = new OchBuilder()
+ .setFrequency(FrequencyTHz.getDefaultInstance(String.valueOf(centerFrequency)))
+ .setRate(R100G.class)
+ .setTransmitPower(new PowerDBm(new BigDecimal("-5")))
+ .setModulationFormat(ModulationFormat.DpQpsk);
+
+ // In Flex-grid, slot-width could be other than 50 GHz
+ if ((centerFrequency != null) && (slotWidth != null)) {
+ ocIfBuilder.setFrequency(FrequencyTHz.getDefaultInstance(String.valueOf(centerFrequency)));
+ ocIfBuilder.setWidth(FrequencyGHz.getDefaultInstance(String.valueOf(slotWidth)));
+ }
+ else {
+ // Use fixed grid to find the
+ fixedFlex = fixedFlex.getFixedFlexWaveMapping(waveNumber.shortValue());
+ ocIfBuilder.setFrequency(FrequencyTHz.getDefaultInstance(String.valueOf(fixedFlex.getCenterFrequency())));
+ }
+ Mapping portMap = portMapping.getMapping(nodeId, logicalConnPoint);
+ if (portMap == null) {
+ throw new OpenRoadmInterfaceException(
+ String.format("Unable to get mapping from PortMapping for node %s and logical connection port %s",
+ nodeId, logicalConnPoint));
+ }
+
+
+
+ // Create generic interface
+ InterfaceBuilder ochInterfaceBldr = createGenericInterfaceBuilder(portMap, OpticalChannel.class,
+ createOpenRoadmOchInterfaceName(logicalConnPoint, waveNumber));
+ // Create Interface1 type object required for adding as augmentation
+ // TODO look at imports of different versions of class
+ org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.Interface1Builder
+ ochIf1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019
+ .Interface1Builder();
+ ochInterfaceBldr.addAugmentation(ochIf1Builder.setOch(ocIfBuilder.build()).build());