- do not invoke this RPC on a node which is not mounted to avoid a NPE
- make the RPC result being failed
JIRA: TRNSPRTPCE-716
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I1b196c576c1298875c74dd90a47ca10921b32566
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.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.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 {
/**
* 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) {
private final OlmPowerService olmPowerService;
public OlmPowerServiceRpcImpl(OlmPowerService olmPowerService) {
*/
@Override
public ListenableFuture<RpcResult<GetPmOutput>> getPm(GetPmInput input) {
*/
@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();
}
return RpcResultBuilder.success(this.olmPowerService.getPm(input)).buildFuture();
}
@Override
public GetPmOutput getPm(GetPmInput pmInput) {
@Override
public GetPmOutput getPm(GetPmInput pmInput) {
- OpenroadmNodeVersion openroadmVersion;
GetPmOutputBuilder pmOutputBuilder = new GetPmOutputBuilder();
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:
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:
break;
case StringConstants.OPENROADM_DEVICE_VERSION_2_2_1:
- openroadmVersion = OpenroadmNodeVersion._221;
+ nodeVersion = OpenroadmNodeVersion._221;
break;
case StringConstants.OPENROADM_DEVICE_VERSION_7_1:
break;
case StringConstants.OPENROADM_DEVICE_VERSION_7_1:
- openroadmVersion = OpenroadmNodeVersion._71;
+ nodeVersion = OpenroadmNodeVersion._71;
break;
default:
LOG.error("Unknown device version");
break;
default:
LOG.error("Unknown device version");
}
LOG.info("Now calling get pm data");
pmOutputBuilder = OlmUtils.pmFetch(pmInput, deviceTransactionManager,
}
LOG.info("Now calling get pm data");
pmOutputBuilder = OlmUtils.pmFetch(pmInput, deviceTransactionManager,
return pmOutputBuilder.build();
}
return pmOutputBuilder.build();
}