- public boolean setPowerLevel(String nodeId, Enum mode, BigDecimal powerValue,
- String connectionNumber) {
- String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId);
- if (openRoadmVersion.equals(OPENROADM_DEVICE_VERSION_1_2_1)) {
- return crossConnectImpl121.setPowerLevel(nodeId,mode,powerValue,connectionNumber);
+ @Override
+ public boolean setPowerLevel(String nodeId, String mode, Decimal64 powerValue, String connectionNumber) {
+ switch (mappingUtils.getOpenRoadmVersion(nodeId)) {
+ case OPENROADM_DEVICE_VERSION_1_2_1:
+ if (OpticalControlMode.forName(mode) == null) {
+ return false;
+ }
+ return crossConnectImpl121.setPowerLevel(nodeId,
+ OpticalControlMode.forName(mode),
+ powerValue, connectionNumber);
+ case OPENROADM_DEVICE_VERSION_2_2_1:
+ if (org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.OpticalControlMode
+ .forName(mode) == null) {
+ return false;
+ }
+ return crossConnectImpl221.setPowerLevel(nodeId,
+ org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.OpticalControlMode
+ .forName(mode),
+ powerValue, connectionNumber);
+ default:
+ return false;