@Override public boolean isSuccess() { return getCode() == ResponseCode.DELETED; }
public static DeregisterResponse internalServerError(String errorMessage) { return new DeregisterResponse(ResponseCode.INTERNAL_SERVER_ERROR, errorMessage); } }
} else if (response.isSuccess() || response.getCode() == ResponseCode.NOT_FOUND) { registeredServers.remove(registrationID); registrationID = null; cancelUpdateTask(true); LOG.info("De-register response {} {}.", response.getCode(), response.getErrorMessage()); if (observer != null) { if (response.isSuccess()) { observer.onDeregistrationSuccess(server, registrationID); } else { observer.onDeregistrationFailure(server, response.getCode(), response.getErrorMessage()); LOG.error("Deregistration failed: {} {}.", response.getCode(), response.getErrorMessage()); if (observer != null) { observer.onDeregistrationFailure(server, response.getCode(), response.getErrorMessage());
private void handleDeregister(CoapExchange exchange, String registrationId) { // Get identity Identity sender = extractIdentity(exchange.advanced().getRequest().getSourceContext()); // Create request DeregisterRequest deregisterRequest = new DeregisterRequest(registrationId); // Handle request final SendableResponse<DeregisterResponse> sendableResponse = registrationHandler.deregister(sender, deregisterRequest); DeregisterResponse deregisterResponse = sendableResponse.getResponse(); // Create CoAP Response from LwM2m request if (deregisterResponse.getCode().isError()) { exchange.respond(toCoapResponseCode(deregisterResponse.getCode()), deregisterResponse.getErrorMessage()); } else { exchange.respond(toCoapResponseCode(deregisterResponse.getCode())); } sendableResponse.sent(); }
@Override public void visit(DeregisterRequest request) { if (coapResponse.isError()) { // handle error response: lwM2mresponse = new DeregisterResponse(toLwM2mResponseCode(coapResponse.getCode()), coapResponse.getPayloadString()); } else if (coapResponse.getCode() == org.eclipse.californium.core.coap.CoAP.ResponseCode.DELETED) { // handle success response: lwM2mresponse = DeregisterResponse.success(); } else { // handle unexpected response: handleUnexpectedResponseCode(request, coapResponse); } }
public SendableResponse<DeregisterResponse> deregister(Identity sender, DeregisterRequest deregisterRequest) { // We must check if the client is using the right identity. Registration registration = registrationService.getById(deregisterRequest.getRegistrationId()); if (registration == null) { return new SendableResponse<>(DeregisterResponse.notFound()); } if (authorizer.isAuthorized(deregisterRequest, registration, sender) == null) { // TODO replace by Forbidden if https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues/181 is // closed. return new SendableResponse<>(DeregisterResponse.badRequest("forbidden")); } final Deregistration deregistration = registrationService.getStore() .removeRegistration(deregisterRequest.getRegistrationId()); if (deregistration != null) { LOG.debug("Deregistered client: {}", deregistration.getRegistration()); // Create callback to notify new de-registration Runnable whenSent = new Runnable() { @Override public void run() { registrationService.fireUnregistered(deregistration.getRegistration(), deregistration.getObservations(), null); }; }; return new SendableResponse<>(DeregisterResponse.success(), whenSent); } else { LOG.debug("Invalid deregistration : registration {} not found", registration.getId()); return new SendableResponse<>(DeregisterResponse.notFound()); } }
public static DeregisterResponse badRequest(String errorMessage) { return new DeregisterResponse(ResponseCode.BAD_REQUEST, errorMessage); }
public static DeregisterResponse success() { return new DeregisterResponse(ResponseCode.DELETED, null); }
public static DeregisterResponse notFound() { return new DeregisterResponse(ResponseCode.NOT_FOUND, null); }