@Override public UpdateRigStatusResponse updateRigStatus(UpdateRigStatus request) { /* Request parameters. */ UpdateRigType upRig = request.getUpdateRigStatus(); StatusType status = upRig.getStatus(); this.logger.debug( "Received " + this.getClass().getSimpleName() + "#updateRigStatus with parameters: name=" + upRig.getName() + ", isOnline=" + status.getIsOnline() + ", offlineReason=" + status.getOfflineReason() + '.'); /* Response parameters. */ UpdateRigStatusResponse response = new UpdateRigStatusResponse(); ProviderResponse providerResp = new ProviderResponse(); response.setUpdateRigStatusResponse(providerResp); UpdateLocalRigStatus updater = new UpdateLocalRigStatus(); if (updater.updateStatus(upRig.getName(), status.getIsOnline(), status.getOfflineReason())) { providerResp.setSuccessful(true); providerResp.setIdentityToken( IdentityTokenRegister.getInstance().getOrGenerateIdentityToken(upRig.getName())); } else { providerResp.setSuccessful(false); providerResp.setErrorReason(updater.getFailedReason()); } updater.getSession().close(); return response; }