import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerTurndownInput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerTurndownOutput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.TransportpceOlmService;
+import org.opendaylight.yangtools.yang.common.ErrorType;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* The Class OlmPowerServiceRpcImpl.
*/
public class OlmPowerServiceRpcImpl implements TransportpceOlmService {
+ private static final Logger LOG = LoggerFactory.getLogger(OlmPowerServiceRpcImpl.class);
private final OlmPowerService olmPowerService;
public OlmPowerServiceRpcImpl(OlmPowerService olmPowerService) {
*/
@Override
public ListenableFuture<RpcResult<GetPmOutput>> getPm(GetPmInput input) {
+ if (this.olmPowerService.getPm(input).getNodeId() == null) {
+ LOG.error("getPm: Error with input parameters");
+ return RpcResultBuilder.<GetPmOutput>failed()
+ .withError(ErrorType.RPC, "Error with input parameters")
+ .buildFuture();
+ }
return RpcResultBuilder.success(this.olmPowerService.getPm(input)).buildFuture();
}
@Override
public GetPmOutput getPm(GetPmInput pmInput) {
- OpenroadmNodeVersion openroadmVersion;
GetPmOutputBuilder pmOutputBuilder = new GetPmOutputBuilder();
+ if (mappingUtils.getOpenRoadmVersion(pmInput.getNodeId()) == null) {
+ return pmOutputBuilder.build();
+ }
+ OpenroadmNodeVersion nodeVersion;
switch (mappingUtils.getOpenRoadmVersion(pmInput.getNodeId())) {
case StringConstants.OPENROADM_DEVICE_VERSION_1_2_1:
- openroadmVersion = OpenroadmNodeVersion._121;
+ nodeVersion = OpenroadmNodeVersion._121;
break;
case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
- openroadmVersion = OpenroadmNodeVersion._221;
+ nodeVersion = OpenroadmNodeVersion._221;
break;
case StringConstants.OPENROADM_DEVICE_VERSION_7_1:
- openroadmVersion = OpenroadmNodeVersion._71;
+ nodeVersion = OpenroadmNodeVersion._71;
break;
default:
LOG.error("Unknown device version");
}
LOG.info("Now calling get pm data");
pmOutputBuilder = OlmUtils.pmFetch(pmInput, deviceTransactionManager,
- openroadmVersion);
+ nodeVersion);
return pmOutputBuilder.build();
}