- public boolean setPowerLevel(String nodeId, String mode, BigDecimal powerValue, String connectionNumber) {
- String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId);
- if (OPENROADM_DEVICE_VERSION_1_2_1.equals(openRoadmVersion) && OpticalControlMode.forName(mode).isPresent()) {
- return crossConnectImpl121.setPowerLevel(nodeId,OpticalControlMode.forName(mode).get(),
- powerValue,connectionNumber);
- }
- else if (OPENROADM_DEVICE_VERSION_2_2_1.equals(openRoadmVersion)
- && org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.OpticalControlMode.forName(mode)
- .isPresent()) {
- return crossConnectImpl221.setPowerLevel(nodeId,
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.OpticalControlMode.forName(mode)
- .get(), 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;